Софт для авто-создания патчеров и лоадеров.
Итак, что обзор не был просто сухим описанием возможностей инструментов, я буду делать следующим образом. Действие каждой из тулз буду проверять на некой подопытной программе. Этой программой будет Калькулятор Металлиста… Итак быстро ищем место патча. Этим местом будет
Код:
0076D1FF /74 07 JE SHORT Calc_met.0076D208
Тут надо заменить на 2 nop.
Приступим к тестированию инструментария. Сначала попробуем создать лоадер.
[Yoda's Process Patcher, beta]
Итак, чтобы создать лоадер производим следующие несложные манипуляции. Выбираем файл->add Patch. Вводим
виртуальный адрес (0076D1FF ) и пишем байты, которые надо заменить, т.е. 7407 на 9090. И нажимаем make loader. Проверяем. Отлично работает. Кстати выходной файл получился размером 12 килобайт+с приятной иконкой, что очень хорошо. Сам лоадер представляет собой с++ программу, запакованную upx. Принцип действия сгенерированного лоадера: создаем процесс с флагом CREATE_SUSPENDED, устанавливает права доступа с помощью VirtualProtectEx, пишем наши байты с помощью WriteProcessMemory, возобновляем работу с помощью ResumeThread.
В тулзе имеется функция Add Wait, которая позволяет справится с пакованными файлами. Т.е. после запуска процесса ждем некоторое количесво времени пока программа распакуется, и патчим.
[R!SC’s Process Patcher, v1.51]
Сначала нужно создать скрипт-файл с необходимой информацией, а потом на основе него будет сгенерирован лоадер.
Для создания скипт-файлов удобно использовать гуи-интерфейс. Хотя можно и без него=).
Собственно такой скрипт у меня получился
T=1000: ; сколько ждем
F=Calc_met.exe: ; файл, который подвергнем патчу
O=loader.exe: ; имя лоадера
P=0076D1FF/74,07/90,90: ; виртуальный адрес/какие байты ищем/на что меняем
$ ; конец скрипта
Все подробности в поставляемой с программой доке. Потом запускаем тулзу, указываем путь к скрипту (расширение *.rpp). Сгенерированный лоадер имеет размер 5,5 килобайт, что порадовало. Пропатчилось все как надо. Позволяет патчить запакованные и закриптованные файлы (грузит процесс и ждет указанное в скрипте количество времени пока завершится распаковка/раскриптовка).
[*ABEL* Self Learning Loader Generator by c0rdat ^ind]
Первое что бросилось в глаза – это обалденный gui). Функциональностью программа также не обделена. Куча опций, описание которых можно лицезреть в файле abel_loader_generator_usage.txt. Сгенерированный лоадер работает на ура и имеет размер ~25 килобайт. Так же сверху выходной файл пакуется модифицированным юпх.
Плюс этого продукта в том, что можно использовать лоадер для последующих версий продукта ((!) эту возможность я не гоняла, говорю исходя из прочтенной прилагаемой доки, но при первом удобном случае проверю).
Теперь протестим программы для создания патчей
[Patch maker]
Прога позволяет быстро сгенерить патч. Для этого нужен оригинальный файл и пропатченный. Все подробности в About

. Выходной файл имеет приятный интерфейс и размер 21,5 килобайт (это при дефолтных настройках). В общем работой программы осталась довольна.
[Byte Killer]
На мой взляд самая вменяемый патчмейкер.
Опять же имеется графический интерфейс, для работы требуется оригинальный файл и пропатченный. Сгенерированная программа имеет размер 5 кб, что можно отнести к несомненным достоинствам

. Работает отлично!)
[ScAEvoLa's PatchEngine]
В общем целом - покатит. Нормальный интерфейс как у самой программы так и у патча. Уступает Byte Killer.
[Buddha Patchfile Creator]
Еще один патчмейкер.
Прога не дала мне ни разу схалявить. Заставила ввести валидный e-mail, homepage и т.д…. Выходной файл размером 36 кило. Что не так уж и мало.
[Tola's Patching Engine]
С помощью данной проги возможно создавать как лоадеры, offline-patches и так и делать registry патч (ввод/замена данных в реестре). Nice try!
Все вышеперечисленное качаем с
_http://wasm.ru/toollist.php?list=5
_http://www.chemax.ru/tools3.php
Данная информация будет по возможности дополняться. Пока я рассмотрела наиболее удобные, на мой взгляд, инструменты. Работоспособность которых я проверила.