Толик Панков
hex_laden
............ .................. ................

October 2030
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Back March 30th, 2023 Forward
Патч на NSIS (с возможностью отмены).

Преамбула


На самом деле, многими реверсерскими командами создана куча генераторов автопатчеров, подсовываешь ему оригинальный и измененный экзешник, и тебе генерируется автопатчер, даже с красивой картинкой и восьмибитной музыкой. Но "есть проблема" (ц) Патриарх Кирилл:

- Не на все автопатчеры хорошо реагируют антивирусы
- Автопатчеры нестандартны, кто в лес, кто по дрова.

Неплохо бы сделать так, чтоб и антивирусы не ругались, и оно хоть как-то относительно стандартно выглядело. И такое решение есть - модуль VPatch для системы установки NSIS. Далее расскажу, как этим модулем воспользоваться, чтобы пропатчить уже установленную программу, а также, немного расширю пример, покажу как в патч "зашить" еще и отмену патча. Естественно, чтобы все повторить, у вас должен быть установлен NSIS хотя бы в минимальной комплектации.

Подготовка #1


Устанавливаем модуль VPatch, лучше воспользоваться ссылкой на установщик, потом скачать родной пример и попытаться его скомпилировать. Если все сработало - модуль установился правильно, можно работать дальше.

Для генерации данных для патча, VPatch использует свои утилиты командной строки, которые в комплекте идут, но устанавливаются криво, так что качаем утилиты отдельно и устанавливаем их (установятся в %WINDIR%).

Скачать установщик здесь

Подготовка #2


Теперь нужна лабораторная крыса, т.е. программа, которую будем патчить, возьмем оригинальный CrackMe из предыдущего примера (копия) и напишем ему стандартный инсталлятор:

Исходник инсталлятора
Готовый инсталлятор тестовой программы
Исходник CarckMe

Устанавливаем ее.

Для патча нужен оригинальный экзешник

И пропатченный вручную

Подробное описание патча )

Проверка


Патч:



Восстановление:



Источники


- VPatch - Free Patch Generator
- VPatch plug-in
- Документация и исходники оригинального примера
- NSIS: контрольная сумма (MD5), сравнение файлов. (копия)
- NSIS: Получение списка файлов с MD5-хешами. (копия)
- NSIS: Получение даты и времени. (копия)

Исходник примера


Пример полностью на GitHub
Основной исходник

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2023/03/30/patch-na-nsis-s-vozmozhnostyu-otmeny/

Tags: , ,
Back March 30th, 2023 Forward