Как исправить файл установки exe - PullRequest
0 голосов
/ 26 января 2010

Как я могу извлечь exe-файл из установочного файла, изменить его содержимое и затем собрать его снова. Есть ли инструмент или что-то еще, или есть способ сделать это программно?

Ответы [ 3 ]

1 голос
/ 26 января 2010

В зависимости от типа установочного пакета, могут быть некоторые редакторы установочных пакетов. (см. предложение Джоша Стодолы об ORCA для пакетов типа MSI).

Иначе и в двух словах ...

не легко ...


Файл установки обычно имеет CRC или другую дайджест / контрольную сумму, которая позволяет ему утверждать свою целостность до запуска самой логики установки. Поэтому, как только пакет установки был изменен, его вычисленный CRC отличается от сохраненного CRC, и процесс установки прерывается.

Предполагая, что вышеупомянутое не является проблемой, обычно оно также ограничено с точки зрения изменений, которые могут быть применены к исполняемому файлу или, в более общем случае, к двоичному файлу. Самые безопасные изменения - это те, которые не изменяют размер файла и по существу заменяют несколько байтов; иногда патч может потребовать добавить часть логики в конце файла (или в месте внутри файла, о котором известно, что он не используется) и предоставить инструкцию перехода / перехода из некоторой области существующей логики, где требуется изменение .

Как только исправленный двоичный файл становится доступным (или, возможно, совершенно новый исполняемый файл, например, если кто-то декомпилировал оригинал, изменил исходный код и перестроил его), способ его замены в программе установки различается в зависимости от типа установки пакет. Опять же, говоря в общих чертах, программа / пакет установки обычно включает в себя своего рода «манифест», в котором различные части перечислены с некоторым смещением или ссылкой, за которыми следуют различные части, которые часто сжимаются в формате ZIP или аналогичном формате сжатия.

Альтернативный подход ...

Вместо того, чтобы изменять установочный пакет, может быть проще ввести дополнительный установочный пакет, который будет запускаться после исходного (такие настройки могут быть «связаны» в общем установочном пакете), и который изменяет exe и другие двоичные файлы, которые требуют этого.
Этот подход, возможно, не освобождает от необходимости выбора правильного способа исправления двоичных файлов как таковых, но он устраняет все трудности, связанные со структурой и устройствами контроля целостности исходного установочного пакета.

1 голос
/ 26 января 2010

Сам по себе не редактор .exe, но я сделал нечто похожее на файлы установщика MSI, используя Orca (в первую очередь, успешную установку iTunes на 64-битную версию XP).

0 голосов
/ 26 января 2010

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

Или, если вам действительно нужно выпустить полный комплект, почему бы просто не перестроить весь комплект и не выпустить его?

...