Сейчас на форуме: vsv1, r0lka, -Sanchez-, testrev1337, johnniewalker, Kybyx (+3 невидимых)

 eXeL@B —› Крэки, обсуждения —› Перепаковка CAB-архива с сохранением порядка файлов
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 07:23
· Личное сообщение · #1

Ребята, помогите решить задачку!

В инсталляторе InstallShield имеется САВ архив MSCF (Microsoft Cabinet File).
Необходимо его перепаковать, заменив пару файлов и сохранив порядок файлов внутри архива.

При обычной обработке CAB Manager-ом, CABArc-ом файлы выстраиваются
в алфавитном порядке, и инсталлятор не находит файлов в архиве.

Ккак и какими инструментами можно сохранить структуру САВ-а?

Тема уже осуждалась здесь, однако, непонятно что и как.



Ранг: 61.7 (постоянный), 12thx
Активность: 0.090.02
Статус: Участник

Создано: 12 июля 2009 09:25
· Личное сообщение · #2

Прочитай еще раз, там написан алгоритм действий- менять символ F на номер файла.



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 09:50
· Личное сообщение · #3

Gerpes пишет:
там написан алгоритм действий- менять символ F на номер файла

Если не трудно, объясните на пальцах, пожалуйста, менять в чем? Какой инструментарий?




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 июля 2009 10:06
· Личное сообщение · #4

предлагаю такой вариант:

1. Создаёшь файл install.lst, в котором список файлов (каждый файл на новой строке) в нужном тебе порядке. Пути к папкам - относительные
2. Создаёшь файл pack.cmd, в котором прописываешь следующее:

Code:
  1. Set SrcPath=
  2. Set DestPath=
  3. Set ArchiveFileName=install.cab
  4. cabarc -m LZX:21 --r N %DestPath%%ArchiveFileName% @%SrcPath%install.lst
  5. @pause


собсна всё ;)
кладёшь оба файла + cabarc.exe в папку с файлами и запускаешь pack.cmd

радуйся!

-----
EnJoy!




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 10:16
· Личное сообщение · #5

Jupiter
Согласен.
А чем создать листинг файлов в нужном порядке?
(в архиве их около полутора тысяч!)



Ранг: 61.7 (постоянный), 12thx
Активность: 0.090.02
Статус: Участник

Создано: 12 июля 2009 10:54 · Поправил: Gerpes
· Личное сообщение · #6

самый простой способ- распаковать в папку и открыть ее в ТоталКоммандере, он умеет печатать список файлов в папке. но тормоза думаю обеспечены. ... поправлюсь- распаковывать даже не обязательно- он и так видит.

AlexAGF пишет:
менять в чем? Какой инструментарий?

открываешь в хекседиторе и пошел файлы нумеровать, там они с буквы F начинаются все, поэтому он заменил эту букву на номер файла. потом обратно. в твоем варианте это нереал, слишком много файлов. проще переделать инсталлятор вообще заново.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 июля 2009 10:58
· Личное сообщение · #7

я создаю тоталом (Total Commander)
алгоритм таков:
1. Выбираю режим сортировки (имя/тип/дата/размер)
2. Жму Ctrl+B (меню Вид -> Показать все файлы без подкаталогов) - все файлы в подпапках выводятся плоским списком
3. Выделяю все файлы (Ctrl+A), копирую имена файлов с путями: меню Инструменты -> Копировать полные имена файлов
4. Сохраняю список и поиском с заменой сокращаю пути, убирая путь до корневой папки в начале

в принципе, то же можно сделать и с помощью команды dir

-----
EnJoy!




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 11:05
· Личное сообщение · #8

Gerpes
Тотал выводит список в порядке сортировки, заданном в нем.
Он же не знает порядка файлов в архиве.



Ранг: 61.7 (постоянный), 12thx
Активность: 0.090.02
Статус: Участник

Создано: 12 июля 2009 11:09
· Личное сообщение · #9

порядок должен быть какой-то все равно. сортировку надо выбрать, я думаю что какая-то все равно подойдет. -открой и посмотри, в каком порядке он их кажет, а каб открой в HIEW, там и сравнишь.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 12 июля 2009 11:45
· Личное сообщение · #10

AlexAGF пишет:
Необходимо его перепаковать, заменив пару файлов и сохранив порядок файлов внутри архива.


Скейгенить не реал? Проверял?



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 11:57
· Личное сообщение · #11

В общем, все получилось!
Листинг создал через PowerArchiver с оригинальной сортировкой.

Правда с заменой файлов в архиве инсталляция доходит до 100% и обрубается, но это уже другой вопрос.
Основная цель перепаковки (уменьшение дистрибутива) достигнута.
Всем спасибо!



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 12:02
· Личное сообщение · #12

progopis пишет:

Скейгенить не реал? Проверял?

Под замену предполагались уже сгенерированные файлы лицензии,
чтобы создать уменьшенный Unattended дистрибутив.
В оригинальном архиве эти файлы заменены пустышками.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 июля 2009 12:05
· Личное сообщение · #13

собрал CabInfo

позволяет просмотреть данные cab-архива

4d8d_12.07.2009_CRACKLAB.rU.tgz - CabInfo.rar

-----
EnJoy!




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 12:20
· Личное сообщение · #14

Jupiter пишет:
собрал CabInfo
позволяет просмотреть данные cab-архива

Спасибо. Однако, практического смысла в такой утилите немного.
Идеальный вариант был бы таким: CabInfo.exe <file.cab> => list.txt
Причем в тексте нужны только имена файлов без мусора.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 июля 2009 13:41
· Личное сообщение · #15

собрал вариант, который выводит список файлов без лишней информации - только имя файла
смотри список после *** FILES SECTION ***

прилагаю утилиту CabList
использование: CabList install.cab > install.lst

после этого прост убираешь из файла install.lst всё до строки *** FILES SECTION ***


7ffc_12.07.2009_CRACKLAB.rU.tgz - CabList.rar

-----
EnJoy!




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 июля 2009 13:54
· Личное сообщение · #16

Jupiter пишет:
собрал вариант, который выводит список файлов без лишней информации - только имя файла

Вот за это реално спасибо!




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 июля 2009 14:10
· Личное сообщение · #17

пожалста ;)

вот она прелесть открытых проектов:
взял и перекомпилил так, как нужно ;)

-----
EnJoy!



 eXeL@B —› Крэки, обсуждения —› Перепаковка CAB-архива с сохранением порядка файлов
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати