eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: alfaservice, stran34 (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

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

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

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

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

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

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

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

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

Ранг: 61.5 (постоянный)
Статус: Участник

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

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

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

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

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

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


Ранг: 599.8 (!)
Статус: Модератор
Research & Development

Создано: 12 июля 2009 10:06 New!
Цитата · Личное сообщение · #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

радуйся!

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

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

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

Ранг: 61.5 (постоянный)
Статус: Участник

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

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

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

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


Ранг: 599.8 (!)
Статус: Модератор
Research & Development

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

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

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

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

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

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

Ранг: 61.5 (постоянный)
Статус: Участник

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

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


Статус: Пришелец

Создано: 12 июля 2009 11:45 New!
Цитата #10

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


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

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

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

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

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

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

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

progopis пишет:

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

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


Ранг: 599.8 (!)
Статус: Модератор
Research & Development

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

собрал CabInfo

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

{ Атач доступен только для участников форума } - CabInfo.rar

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

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

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

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


Ранг: 599.8 (!)
Статус: Модератор
Research & Development

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

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

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

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


{ Атач доступен только для участников форума } - CabList.rar

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

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

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

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


Ранг: 599.8 (!)
Статус: Модератор
Research & Development

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

пожалста ;)

вот она прелесть открытых проектов:
взял и перекомпилил так, как нужно ;)
 eXeL@B —› Крэки, обсуждения —› Перепаковка CAB-архива с сохранением порядка файлов

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS