Blog. Just Blog

Программы для создания патчей и лоадеров

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Итак, защита успешно сломана, коммерческая программа перестала требовать денег и зарегистрирована на ваше имя. Теперь надо обязательно поделиться результатами своих трудов со всем миром! Для релиза вам может понадобиться патч, вносящий нужные изменения в файлы. Если есть время и желание, то можно написать свой, а можно воспользоваться готовыми программами для создания патчей и лоадеров. Рассмотрим некоторые из них.

Скриншот программы diablo2oo2's Universal Patcher
Скриншот программы diablo2oo2's Universal Patcher

diablo2oo2's Universal Patcher. Бесспорный лидер среди программ для создания патчей. Написан полностью на Ассемблере, последняя версия на сегодняшний день 2.18, а промежуточные бета-версии можно время от времени проверять по прямой ссылке. Позволяет делать если не все, то очень многое: статичные и универсальные патчи, самообучающиеся лоадеры, inline-патчи для упакованных файлов, патчи реестра, запись на диск прикрепленных к патчу файлов и еще многое другое. В умелых руках dUP2 будет очень мощным инструментом. Создаваемые патчи можно дополнять трекерной музыкой в формате xm, mod, it, s3m, mtm, umx, v2m, ahx и sid, оформлять собственными скинами, в том числе и нестандартной формы, устанавливать прозрачность окна и менять главную иконку патча. Интерфейс и документация на английском языке. Отечественными умельцами для патчера написан русификатор, но в официальном комплекте его, к сожалению, нет.

diablo2oo2's Universal Patcher 2.26diablo2oo2's Universal Patcher 2.26

dUP2.v2.26.zip (997,779 bytes)

Русификатор diablo2oo2's Universal PatcherРусификатор diablo2oo2's Universal Patcher

dUP2.v2.26.1.Russian.Lang.zip (317,502 bytes)

Скриншот программы ZeuSoft PMaker
Скриншот программы ZeuSoft PMaker

ZeuSoft PMaker. Один из моих любимых патчеров. Текущая версия на офсайте 1.1.0.0 от 2003 года. Но хорошее дело останавливаться не должно, и энтузиастами была выпущена версия 2.1.0.1 со множеством исправлений и доработок. Например, был реализован патч процесса, который в официальной версии так и застрял на стадии "мы уже работаем над этим". Очень простой и удобный инструмент, позволяет делать статичные патчи, патчи реестра (через запуск reg-файла программой regedit), патчи с поиском сигнатуры и уникальной функцией "умной замены", а также лоадеры. В комплекте прилагается несколько шаблонов с примерами реализации всех функций патчера, а кроме того, на каждое действие есть подробная подсказка. При первом запуске патчер предлагает выбрать язык интерфейса, русский язык в наличии.

ZeuSoft PMaker 2.1.0.1ZeuSoft PMaker 2.1.0.1

ZeuSoft.PMaker.1.2.0.1.zip (697,361 bytes)

Скриншот программы File Compare
Скриншот программы File Compare

File Compare от ViaSoft. Офсайт прекратил свое существование, последняя версия 2.8 от 2005 года. Спасибо товарищу KeyGen за предоставленный дистрибутив. File Compare позиционируется как программа для сравнения двух файлов одинаковой длины на предмет наличия изменений. В качестве дополнительной функции может создавать патчи на основании найденных различий. Имеет место быть, но я ее использую только по прямому назначению, то есть для сравнения файлов.

File Compare 2.8File Compare 2.8

File.Compare.2.8.zip (279,121 bytes)

Скриншот программы CodeFusion
Скриншот программы CodeFusion

CodeFusion Wizard от Krichmar Kobi. Еще один мертвый проект, офсайт закрыт, а сама программа не обновлялась аж с 1999 года, остановившись на версии 3.0. Однако со своей основной задачей до сих пор справляется неплохо, позволяет создавать статичные патчи и универсальные патчи с поиском по сигнатуре. В комплекте имеется русификатор, но такого качества, что по-моему лучше обойтись без него.

CodeFusion 3.0CodeFusion 3.0

CodeFusion.3.0.zip (932,791 bytes)

Скриншот программы WRCPatcher
Скриншот программы WRCPatcher

WRCPatcher от WatCheR при небольшом размере имеет полный набор для создания полноценных патчей: сравнение файлов, поиск и замена, добавление данных в реестр, запуск командных файлов, музыкальное оформление патча и многое другое. К сожалению, проект давно прекратил развиваться.

WRCPatcher 1.2 RC2WRCPatcher 1.2 RC2

WRCPatcher.1.2.RC2.zip (34,573 bytes)

Скриншот программы Tola's Patching Engine
Скриншот программы Tola's Patching Engine

Tola's Patching Engine позволяет создавать файловые патчи, в том числе и с поиском, лоадеры и патчи реестра. Внешний вид готового патча настраивается через файл ресурсов. В комплекте идет неплохая документация на английском языке, где описаны все основные функции. Проект также закрыт и много лет не обновлялся.

Tola's Patching Engine 2.03Tola's Patching Engine 2.03

Tolas.Patching.Engine.2.03.zip (431,254 bytes)

Скриншот программы uPPP
Скриншот программы uPPP

uPPP от известной крякерской команды SnD. Мощный инструмент, позволяющий создавать как классические патчи по смещению и с поиском байт, так и патчи реестра, а также запись внедренных в патч файлов на диск. Поддерживает разнообразные скины для патчей, большое количество форматов мелодий для музыкального оформления релизов, текстовые скроллеры и пользовательские иконки. Для работы генератора патчей требуется .NET Framework 2.0. Скины можно рисовать самому при помощи утилиты uPPP SkinHelper, которая также идет в комплекте.

uPPP 0.8uPPP 0.8

uPPP.0.8.zip (1,806,727 bytes)

Скриншот программы Dogbert's Genuine Patching Engine
Скриншот программы Dogbert's Genuine Patching Engine

Dogbert's Genuine Patching Engine - старенький, но до сих пор актуальный генератор, позволяющий делать маленькие патчи, работающие вплоть до Windows 95. В готовых патчах есть функция отмены изменений.

Dogbert's Genuine Patching Engine 1.41Dogbert's Genuine Patching Engine 1.41

Dogberts.Genuine.Patching.Engine.1.41.zip (26,935 bytes)

Скриншот программы ScAEvoLa's PatchEngine
Скриншот программы ScAEvoLa's PatchEngine

ScAEvoLa's PatchEngine - практически точная копия предыдущего генератора. Не знаю, кто там у кого позаимствовал идеи, но по внешнему виду и функционалу друг от друга они отличаются мало.

ScAEvoLa's PatchEngine 1.33ScAEvoLa's PatchEngine 1.33

ScAEvoLas.PatchEngine.1.33.zip (16,087 bytes)

Скриншот программы ap0x Patch Creator
Скриншот программы ap0x Patch Creator

ap0x Patch Creator, авторская версия alfa RC3. Этот патчер нацелен как на собственно создание патчей, так и на красивое оформление и упаковку релизов. Позволяет делать статичные патчи, лоадеры, универсальные патчи с поиском сигнатуры, причем для каждого патча создает исходник на нескольких языках программирования, а потом компилирует его внешними приложениями. Естественно, при условии что они установлены на компьютере. Готовые патчи можно сразу же автоматически снабдить соответствующими .nfo и .diz файлами и упаковать в архив. Скачать дистрибутив можно с офсайта.

ap0x Patch Creator alfa RC3ap0x Patch Creator alfa RC3

ap0x.Patch.Creator.alfa.RC3.zip (3,096,704 bytes)

Скриншот программы The aPE
Скриншот программы The aPE

The aPE, последняя версия 0.1.2.21 beta. Серьезный профессиональный инструмент, нацеленный в первую очередь на inline-патчинг упакованных и защищенных файлов. Код патча внедряется прямо поверх навесного упаковщика или протектора, так что распаковка файла не требуется. Поддерживает около 100 различных упаковщиков, но функционал может расширяться при помощи собственных скриптов и плагинов (SDK и примеры плагинов прилагаются). Кроме inline-патчей может создавать обычные статичные патчи, универсальные патчи с поиском сигнатуры и лоадеры. Скачать дистрибутив можно с офсайта, если вдруг потребуются дополнительные библиотеки для запуска программы, то они находятся там же.

aPE 0.1.2 betaaPE 0.1.2 beta

aPE.0.1.2.beta.zip (2,336,977 bytes)

Скриншот программы ByteKiller
Скриншот программы ByteKiller

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

ByteKiller 2.15 FinalByteKiller 2.15 Final

ByteKiller.2.15.Final.zip (36,868 bytes)

Скриншот программы ASProtect SKE Inline Patcher
Скриншот программы ASProtect SKE Inline Patcher

Из специализированных патчей могу выделить ASProtect SKE Inline Patcher от tenketsu0017 // TMT, последняя доступная версия 0.2. Это inline-патчер для ASProtect, позволяющий внедрять собственный код прямо поверх упакованного и защищенного файла. В архиве прилагается небольшая инструкция по использованию на английском языке.

ASProtect SKE Inline Patcher 0.2ASProtect SKE Inline Patcher 0.2

ASProtect.SKE.Inline.Patcher.0.2.zip (76,342 bytes)

Скриншот программы ASProtect Inline Patcher
Скриншот программы ASProtect Inline Patcher

Еще один патчер для ASProtect - ASProtect Inline Patcher от команды Under SEH Team также предназначен для создания inline-патчей программ, защищенных этим протекторам. Но, судя по отзывам, иногда имеют место различные глюки и неработоспособные файлы на выходе.

ASProtect Inline Patcher 1.0ASProtect Inline Patcher 1.0

ASProtect.Inline.Patcher.1.0.zip (59,659 bytes)

ASProtect Inline Patcher 1.2ASProtect Inline Patcher 1.2

ASProtect.Inline.Patcher.1.2.zip (686,787 bytes)

Скриншот программы Abel Loader Generator
Скриншот программы Abel Loader Generator

Abel Loader Generator от c0rdat ^ind. Офсайта нет, последняя доступная версия 2.31. Как можно догадаться из названия, программа предназначена только для создания лоадеров, но делает это лучше всех. Предоставляет пользователю целую кучу настроек, в том числе и уникальных. Например: подмена даты при запуске программы, удаление заданных ключей реестра и файлов, пауза перед патчем памяти для обхода проверки CRC, патч первого дочернего процесса (для защит типа Armadillo), самообучение при смене версии целевой программы, создание инсталлятора для лоадера и еще множество других. Интерфейс и документация на английском, но все интуитивно понятно.

Abel Loader Generator 2.31 (pass: manhunter.ru)Abel Loader Generator 2.31 (pass: manhunter.ru)

Abel.Loader.Generator.2.31.rar (337,109 bytes)

Скриншот программы Advanced Loader Generator
Скриншот программы Advanced Loader Generator

Advanced Loader Generator от The Boss. Офсайта нет, последняя версия 1.50 от 2007 года. Еще одна мощная программа для создания лоадеров. Несмотря на то, что лоадеры получаются без функции самообучения, Advanced Loader Generator очень неплохо дополняет по функционалу предыдущую программу. Так, он может работать с уже запущенными процессами, предоставляет расширенные функции по передаче параметров запускаемой жертве, позволяет более точно определить момент для каждого паттерна патча памяти и много других функций для детальной настройки создаваемого лоадера.

Advanced Loader Generator 1.50Advanced Loader Generator 1.50

Advanced.Loader.Generator.1.50.zip (167,904 bytes)

Скриншот программы THYloadergen
Скриншот программы THYloadergen

THYloadergen - какой-то навороченный комбайн для создания лоадеров с множеством опций, инжектом dll, перехватом WinAPI, поиском окон, преферансом и куртизанками. Если разберетесь с документацией, то, наверное, получите еще один полезный инструмент.

THYloadergen 0.6THYloadergen 0.6

THYloadergen.0.6.zip (168,078 bytes)

Скриншот программы R!SC's Process Patcher
Скриншот программы R!SC's Process Patcher

R!SC's Process Patcher создает патчи процессов, они же лоадеры. Для создания лоадера сперва нужно создать скрипт конфигурации, в котором описываются все необходимые действия. В комплекте идет толковая документация с примерами скриптов, а также исходный код программы на Ассемблере, так что простор для творчества раскрывается широкий.

R!SC's Process Patcher 1.5.1R!SC's Process Patcher 1.5.1

R!SCs.Process.Patcher.1.5.1.zip (26,635 bytes)

R!SC's Process Patcher 1.5.1.005p + GUIR!SC's Process Patcher 1.5.1.005p + GUI

R!SCs.Process.Patcher.1.5.1.005p.zip (211,010 bytes)

Скриншот программы CmpDisasm
Скриншот программы CmpDisasm

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

CmpDisasm 0.84CmpDisasm 0.84

CmpDisasm.0.84.zip (291,040 bytes)

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

Поделиться ссылкой ВКонтакте
Просмотров: 55646 | Комментариев: 111

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (18.08.2024 в 12:04):
Значит не зря стараюсь :)
ZarTar (18.08.2024 в 10:52):
Спасибо! Классный блог. И даже по прошествии стольких лет информация все ещё актуальна.
user (13.03.2024 в 07:30):
Да, и ещё есть одна маленькая нужная утилита сравнения файлов Cmp32.
Поначалу она была для DOS,
'a и воспроизводила функционал соманды 'FC /B', но потом переползла в WIN32
и начала заниматься уже и WIN32 PE/PE+ файлами с выводом адресов различий в виде
VA/RVA.
А также в виде фрагмента скрипта для RPP.
Например так:
p=00401005/75/EB
Живёт тут:
http://old-dos.ru/index.php?pa...show&id=3110

- Без неё было бы совсем грустно
user (10.03.2024 в 01:58):
..впрочем, внутри одной правки перекрытие адресов сейчас не даст применить патч, не будет пройдена проверка внутри одной правки.
Так что такая ошибочная ситуация отлавливается и сейчас,
хотя и косвено.

ЦитатаДругой вопрос, что не оценят.

Та тут уже тапа на характер ))
ManHunter (10.03.2024 в 01:49):
Да забей. Когда население перестанет качать готовые сборки всякого софта и вернется к байтпатчу (никогда), тогда станут востребованы подобные тонкости. А кому надо, тот и своими руками справится.
Патч классный, за одну только поддержку старых систем уже бутылку коньяка надо поставить. Другой вопрос, что не оценят.
user (10.03.2024 в 01:46):
..да. Единсвенное чего не хватает,
это обратить порядок распатчивания
- чтобы при выборе опции "Patch All"
и при "перекрывающихся" правках распатчивание
происходило в порядке обратном патчению.

// Можно завести как опцию, типа "Revert Unpatch".

Иначе при "перекрывающихся" патчах опция "Patch All"
отрабатывать не будет, поскольку не будет пройдена проверка перед патчем.
Следующий за ним ранее применённый патч не даст её пройти.
И тогда приходится распатчивать вручную, соблюдая обратный порядок.

//А если "перекрытие" происходит внутри одного патча,
// тогда вообще никак не применить распатчивание,
// - впрочем, это сильно искусственная ситуация.
// Может появиться только по ошибке - Однако она возможна.
// Ну, может, ввести ещё проверку на неперекрытие адресов внутри одной правки...
// Потому что так можно запортить файл и распутывать это потом в Hiew.

(Если же "перекрывающихся" патчей нет, то работает нормально и сейчас).
Но за это браться не охота - понадобится слишком много менять (добавлять).
Фактически, выстроить не одну базу данных по патчам, а две - вторую с инвертированной последовательностью.
Это значительное усложнение и чревато глюками, которых сейчас вроде бы нет.

Не хочется затевать эту карусель

.. и опция "Prescan" не будет как следует отрабатывать при этих "перекрывающихся" правках.
В общем, надо стараться их избегать.

В дистрибутивном архиве CRACKER'а есть примеры "перекрывающихся" правок,
специально для тестирования.
ManHunter (10.03.2024 в 00:57):
Про нехватку времени и лёт времени прям в точку :( Жиза 100%
user (10.03.2024 в 00:55):
Ну, похоже, последняя версия крякера.
Больше там улучшать нечего, просто нету смысла.
А времени не жватает, приходится выкраивать урывками и в ущерб.
С последними добавленными возможностями
он стал вполне удобен и приобрёл некоторую завершённость.
Тестировался очень нормально, вроде в глюках не замечен.

https://cracklab.team/index.php?threads/19/

Время быстро летит
user (01.12.2020 в 13:37):
Да иногда приходится сохранять кряки для x64 программ,
и напрягало, что эти кряки приходилось хранить
в RAW-формате, с абсолютными смещениями.
ManHunter (01.12.2020 в 12:54):
Мне и потестировать даже не на чем, я x64 не пользуюсь. Но развитие, безусловно, движется в правильном направлении.
user (30.11.2020 в 21:33):
Обновился CRACKER, который пилился в 2015-м.

Добавлена поддержка x64 PE-EXE (PE+).

Также обновилась и утилитка двоичного сравнения CMP32, с такой же поддержкой.

Таким образом, тройка утилит CRACKER + CMP32 + CRACK.HEM
стала выглядеть вполне гармонично.

Поскольку exelab "положили", релизится теперь здесь:
cracklab.team/index.php?threads/19/
Вася (11.04.2020 в 08:44):
ЦитатаХотелось бы компактную "виртуализацию"

https://enigmaprotector.com/ru/aboutvb.html (Freeware)
ManHunter (23.01.2020 в 15:51):
В этом случае действительно проще будет нарисовать лоадер самому, тем более если и навыки есть. Из готовых инструментов, как выясняется, ничего не подойдет.
0101 (23.01.2020 в 15:46):
всё я прочитал, добавление в реестр и запуск работает. После закрытия проги реестр не чистит. И страдает моё чувство прекрасного из-за сложности кастомизации!
ManHunter (23.01.2020 в 14:40):
Задача звучала как
Цитатапонадобился лоадер для добавления ключа в реестр перед запуском проги, саму прогу патчить не надо

Я выложил решение под эту задачу. В реестр данные добавляет? Добавляет. Прогу после этого запускает? Запускает. Файл readme с инструкцией перед этим прочитал? А нафиг надо.
0101 (23.01.2020 в 14:30):
спасибо, конечно, но мне такого не надо: запаковано, жёстко зашито название exe, нестандарнтые ресурсы.. Я сам такое за 10 мин напишу.. Хотелось бы компактную "виртуализацию" - имеено лоадер, чтобы после закрытия проги реестр чистился. Можно, конечно,  "VMWare ThinApp" заюзать (или запатчить, но пока не получается найти байт проверки). Вот сама прога "Master_PDF_Editor":
https://www.upload.ee/files/11....10.rar.html
версия древняя и очень редкая, даже в What's new не упомянутая:). Кроме малого размера есть и фишка - открывает, редактирует, сохраняеет защищённые pdf, как будто и нет никакой защиты! То есть, заменяет ещё PDF Password Remover. Старшие версии соблюдают закон, хоть и более функциональны.
ManHunter (23.01.2020 в 13:35):
0101, в свое время лепил чо-то подобное. Патч реестра + тупо запуск.
https://www.upload.ee/files/11...reg.zip.html
Инструкция внутри.
0101 (23.01.2020 в 13:27):
понадобился лоадер для добавления ключа в реестр перед запуском проги, саму прогу патчить не надо. Как и чем это можно сделать? У "abel" в настройках только удаление ключей, а "Dup" не хочет создавать лоадер без указаний на изменение файла - только с патчем реестра. TEKTON описал проблему, но решение не понятно: создал bat вместо reg, а дальше что делать?
Артём (19.12.2019 в 20:16):
ЦИТАТА:

TEKTON (04.10.2018 в 19:25):
В основном пользуюсь Dup*ом.
Патчер на все случаи жизни.
Но есть досадная недоработка в нём! :(
Не хватает функции "поиск и замена" в реестре.
Например ситуация.
Пропатчили мы файл, но надо ещё данные в реестр прописать.(regname & regcode).
Что б дать юзеру возможность такое реализовать, приходится атачить *reg файл с данными и *bat файл.
То есть при помощи "костылей". :(

Получается такое:
1)Пропатчили основной файл.
2)Выбрасываем *reg файл
3)Вызываем функцию поиск и замена в файле (Ставим галку на "пользовательский ввод").
4)После этого выбрасываем *bat который запускает ввод данных в реестр из подправленного *reg, после всех манипуляций подчищает концы.

Вот бы в модуле работы с реестром, появилась такая возможность "поиск и замена + пользовательский ввод", было б вообще супер!
Может кто из посетителей ресурса закодит такой плагин для Dup*a ?
Спасибо.
------------------------
Очень даже можно, пример:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\My Program\UserRegistry]
"Name"="$Пожалуйста, введите имя пользователя$"
"Email"="$Пожалуйста, введите адрес электронной почты$"
Артём (08.03.2019 в 13:34):
Не замечали, что diablo2oo2's Universal Patcher v.2.26.1, "не дружит" с форматом модульной музыки "*.v2m"? М.б., это излечимо?

ExceptionCode     : EXCEPTION_ACCESS_VIOLATION

ExceptionModule   :

ModuleBase        : 0CEB0000

ExceptionAddress  : 0CEB41B5

EAX=00000004 ECX=0CEB79C0 EDX=00000000
EBX=00000000 ESP=00EFE9BC EBP=00EFE9DC
ESI=0CEB7F8C EDI=00000000 EIP=0CEB41B5

0CEB41B5: pushad
0CEB41B6: mov eax, dword ptr [esp+28h]
0CEB41BA: push eax
0CEB41BB: call 0CEB1CCAh
0CEB41C0: xor eax, eax
0CEB41C2: mov ecx, 001E2CC8h
0CEB41C7: mov edi, 0CF3BEE0h
0CEB41CC: rep stosb
0CEB41CE: mov eax, dword ptr [esp+28h]
0CEB41D2: mov dword ptr [0CF3BEECh], eax
0CEB41D7: call 0CEB2579h
0CEB41DC: mov eax, dword ptr [esp+24h]
0CEB41E0: mov dword ptr [0CF3BEE0h], eax
0CEB41E5: mov cl, 20h
0CEB41E7: mov ebp, 0CF3DDF4h
0CEB41EC: call 0CEB310Fh
0CEB41F1: lea ebp, dword ptr [ebp+00000228h]

diablo2oo2's Universal Patcher 2.26

playmusic
export_music_dll
IsFileExtension
stopmusic_and_freedll
WriteIniString
ReadIniString
MakeDialogTransparent
ReadIniWinPos
LoadWindowPosition
dup2_RegisterClipboardFormats
InitToolTip
GetCL_dup2
ReadIniString
IsHexString
ReadIniString
IsHexString

PLEASE REPORT HOW THIS ERROR OCCURRED AT www.diablo2oo2.cjb.net!
---------------------------

Как-то так...
TEKTON (04.10.2018 в 19:25):
В основном пользуюсь Dup*ом.
Патчер на все случаи жизни.
Но есть досадная недоработка в нём! :(
Не хватает функции "поиск и замена" в реестре.
Например ситуация.
Пропатчили мы файл, но надо ещё данные в реестр прописать.(regname & regcode).
Что б дать юзеру возможность такое реализовать, приходится атачить *reg файл с данными и *bat файл.
То есть при помощи "костылей". :(

Получается такое:
1)Пропатчили основной файл.
2)Выбрасываем *reg файл
3)Вызываем функцию поиск и замена в файле (Ставим галку на "пользовательский ввод").
4)После этого выбрасываем *bat который запускает ввод данных в реестр из подправленного *reg, после всех манипуляций подчищает концы.

Вот бы в модуле работы с реестром, появилась такая возможность "поиск и замена + пользовательский ввод", было б вообще супер!
Может кто из посетителей ресурса закодит такой плагин для Dup*a ?
Спасибо.
ManHunter (29.07.2018 в 23:50):
Патчишь в чем удобно, потом делаешь дифф и генеришь патчик в любом генераторе. Ему какая разница где байты менять.
Гость (29.07.2018 в 23:17):
А Для .NET генераторов патчей нет? Или любой подойдёт. Ну что бы ты ему говоришь как называетс функция и какую строчку на какую заменить.
ManHunter (15.06.2018 в 13:36):
WRCPatcher все равно уже мертв
Петренко (14.06.2018 в 18:54):
Жаль, что нельзя комментарии редактировать. Хочу выразить огромную благодарность за эту замечательную подборку! Долго искал и лишь здесь нашёл то, что нужно! Ещё раз спасибо!

P.S.
Ссылка на источник инфы по WRCPatcher: https://web.archive.org/web/20....php?lang=ru
Петренко (14.06.2018 в 18:42):
Если что, последняя версия WRCPatcher - 1.2.12 от 19.03.2008:
https://web.archive.org/web/20...d/1.2.12.rar
Darius (30.05.2018 в 05:35):
Thank you for sharing!!!
DJ ZLO (30.04.2018 в 23:05):
В коллекцию http://dropmefiles.com/n8fYN
dza patcher и ypp
IMG https://prnt.sc/jc3nkz
pass 123
user (20.10.2017 в 11:45):
.. правда, она изначально триальная.
user (20.10.2017 в 11:28):
Раз уж есть вспомогательная программа CMPDISASM,
То не стоило бы обойти вниманием и программу HexCMP.
Это отличная WIN32/GUI программа для визуального Hex-сравнения двух файлов:
old-dos.ru/index.php?page=files&mode=files&do=show&id=6542
Она идеологически является ремейком старинной программы
Randy Compare для DOS'a:
old-dos.ru/index.php?page=files&mode=files&do=show&id=5512
user (17.07.2017 в 20:48):
Хм, надо будет попробовать. Спасибо.
ManHunter (17.07.2017 в 16:19):
Цитататогда при запуске без аргументов помимо вывода этого самого диалога GetOpenFileName() болтается ещё и чёрное пустое окно консоли, это выглядит отталкивающе.

invoke  GetConsoleWindow
invoke  ShowWindow,eax,SW_HIDE
user (16.07.2017 в 23:44):
Добавлю в виде оффтопа
- пока нет понимания концепции, как сделать интерфейс программы "смешанным", консольно-гуёвым.
А именно, чтобы будучи запущенной из командной строки с консоли с аргументами программа вела себя как консольная, то есть выдавала сообщения в <sdout>, а без аргументов вела бы себя как гуёвая, выводя стандартный диалог выбора файла-аргументя (в данном случае - скрипта RPP).
Получается всё более-менее похоже на описанное поведение, если линковать программу как консольную, но тогда при запуске без аргументов помимо вывода этого самого диалога GetOpenFileName() болтается ещё и чёрное пустое окно консоли, это выглядит отталкивающе.
Если же линковать приложение как гуёвое, то оно должно затребовать себе консоль, что из консоли запуска тоже смотрится отталкивающе..
Поэтому, как в данном случае, приходится делать полностью консольный интерфейс. Только из эстетических соображений.
Вообще, консоль в виндоусе имеет какой-то заброшенный вид с намёком на анахронизм. Отголоском измученности текстовым режимом экрана DOS..
user (16.07.2017 в 22:39):
Ок.
Только неплохо бы оговорить, что в новом архиве бинарник 2017-го года без сорсов, сорсы то к старой версии 1.5.1 от 2000-го года.

..чтоб не задавали вопросы.
ManHunter (16.07.2017 в 22:13):
Добавил полный комплект, пригодится.
user (16.07.2017 в 21:19):
R!SC's Process Patcher -- RPP v.1.5.1 (c)2000..2017
на екзелабе:
exelab.ru/f/index.php?action=vthread&forum=3&topic=24805&p age=0#0
user (03.07.2017 в 23:45):
.. хотя RPP-формат сорса лоадера очень хорош, в качестве стандарта.
Только вот на примере .CRK [который тоже весьма удобен] - видно, что
особого распространения не получит. Разве что для приватного протоколирования рантайм-правок. И то очень сильно на любителя.
Вообще, лоадер, сгенерённый с помощью RPP прост, как велосипед,
- нет ни возможности втулить туда свои иконки, ни прикрутить к лоадеру какую-нибудь графическую мордочку - такое пиплу обчно не нравится.
Философия..
user (03.07.2017 в 23:24):
Да я туда, было,  пару лищних функций сунул, никому не нужных..
Может, почищу от лишнего и зарелизю когда-нибудь.
Только смысла нет - полно крутых тулзов на эту тему,
тот же DUP2, например.
Начинай сейчас - не стал бы возиться с генератором, правил бы просто сорс лоадера.
То просто был спорт такой
ManHunter (03.07.2017 в 23:17):
Не мое дело, конечно, но какой смысл держать генератор патчей и лоадеров в привате? Это же не распаковщик какой-нибудь, там бы я еще понял. Или исключительно для поддержания атмосферы таинственности "темной стороны"? :))
user (03.07.2017 в 22:52):
Имненно так и прикручена опция к RPP.
В скрипте нужно просто не указывать строку "F=имя_файла".
Оригинальный 2000-го года обругает, мол, не задано имя процесса.
Простое решение всегда самое элегантное.
ManHunter (03.07.2017 в 22:48):
А DUP2 разве это не умеет? Если оставить дефолтное имя файла пустым, то патч его будет запрашивать. Вот на счет лоадера не уверен, есть ли там такая же функция.
user (03.07.2017 в 22:45):
)
r!sc's PROCESS PATCHER v.1.5.1.005a (с)2000,2017
Опция выбора файла для патчения добавлена вчера,
по прочтении новостей топика.
Noobie (03.07.2017 в 08:41):
user > Но она безнадёжно в привате.
"Имя, сестра, имя!" Я кагбэ не последний человек этой части, если буду знать что спрашивать, то может коллеги и поделятся. В приват, ессно :-)
user (02.07.2017 в 23:37):
Кстати, этот самый S&R работает очень вяло, если программа большая и указан весь диапазон её адресов.
Так что это не очень хороший выход, S&R.
Лучше понаделать лоадеров конкретно для каждой версии софта.
user (02.07.2017 в 23:07):
ЦитатаОпять я со своими нетрадиционными хотелками по части патчеров :-) Нужно сделать лодырь с S&R, то бишь поиск паттерна и его замена в памяти. Тонкость в том, что имя exe может быть разным (куча программ), а паттерн везде одинаковый. Следовательно, лодырь должен иметь возможность выбора exe файла для запуска и последующего патча. Несмотря на заявления, ни один лодырекреатор не желает создавать ничего без конкретного имени файла. Кто делал подобные штуки, поделитесь опытом, мож у меня просто "лыжи не едут"? Или опять будет сказано - мол, подобное надо писать самому?


Точно знаю только про один такой генератор лоадеров, что он умеет S&R c возможностью выбора таргет-файла, то очень навороченная программка.
Но она безнадёжно в привате.
Так что лучше сделать что-то попроще, на основе имеющихся патчеров, например, как выложенный тут ManHunter'ом по ссылке на rghost.
Просто добавить туда S&R и GetOpenFileName(), прямо в исходный текст.
А какой ещё тут может быть выход?..
Anonymous (07.01.2017 в 17:02):
Стоит упомянуть AT4RE Patcher от одноимённой команды. Развивается не то, чтобы активно, но по релизу в год набирается.

http://www.at4re.com/f/showthr...T4RE-Patcher
Noobie (26.09.2016 в 09:28):
Опять я со своими нетрадиционными хотелками по части патчеров :-) Нужно сделать лодырь с S&R, то бишь поиск паттерна и его замена в памяти. Тонкость в том, что имя exe может быть разным (куча программ), а паттерн везде одинаковый. Следовательно, лодырь должен иметь возможность выбора exe файла для запуска и последующего патча. Несмотря на заявления, ни один лодырекреатор не желает создавать ничего без конкретного имени файла. Кто делал подобные штуки, поделитесь опытом, мож у меня просто "лыжи не едут"? Или опять будет сказано - мол, подобное надо писать самому?
ManHunter (02.09.2016 в 11:20):
Добавил. Не надо давать хорошим софтинам сгинуть в небытие. Спасибо!
Noobie (02.09.2016 в 05:46):
Стыдно, до кончика хвоста стыдно. Мне, ессно. 100500 раз пользовался ScAEvoLa's PatchEngine v1.33 (оно же Dogbert's Genuine Patching Engine v1.41) и не замечал у его патчей кнопку RESTORE, поскольку не было надобности. А ведь оно как раз и возвращает пропатченные байты в исходное состояние. Ну ладно, лучше поздно, чем никому :-) Если вдруг надумается добавить их в топик, вот ссылка: http://www11.zippyshare.com/v/...md/file.html
Простой старый патчер - не значит плохой...
ManHunter (09.08.2016 в 08:47):
Опять же, писать что-то свое. Готовых патчеров с таким функционалом нет.
Нечто похожее сделал user, посмотри в камментах его ссылк на exelab.ru, но там все равно придется делать .CRK-файл с правилами и патчить через специальную оболочку.
Noobie (09.08.2016 в 07:10):
Подскажите пожалуйста патчер с такой нехитрой, но не найденной в Инете фичей, как откат патчуемого файла в исходное состояние или двухкнопочный патч, типа Патч 1 - Патч 2, первый делает одни изменения, второй - другие. Два отдельных патча не предлагать!
Vagazov (18.03.2016 в 18:25):
ManHunter, Благодарю ...
ManHunter (18.03.2016 в 16:38):
Только самому что-то писать, готовых SnR с таким алгоритмом нет. Можно поискать патчеры, которые работают по принципу поиска хотя бы одной из сигнатур. Тогда можно было бы скормить им оба паттерна с нужными условиями замены, и при нахождении одной из них была бы выполнена нужная замена.
Но проще будет написать что-то свое, там кода на три десятка строчек.
http://rghost.ru/private/6crKR...dc55d3ab3e48
Vagazov (18.03.2016 в 16:09):
Подскажите, господа ...
Чем можно создать патчер набора байт, в режиме search and replace, так, чтобы в зависимости от входных условий, выполнялся тот или иной кусок?
То есть если в команде add edx, ecx указан регистр приема edx, то меняем на add eax, ecx , а если eax, то меняем наоборот, на add edx, ecx. Дуп так не умеет, других, в том числе здесь, я не нашел. Если есть другой вариант, например с сырцом на си или асме - то это вообще шоколад.
ManHunter (24.02.2016 в 12:38):
Обновил русификатор для последней версии dUP2, там же в архиве файл справки с машинным переводом на русский.
user (12.11.2015 в 16:11):
Зарелизил CRACKER на exelab'e. Посмотрим, как он себя покажет.

exelab.ru/f/index.php?action=vthread&forum=3&topic=23834
user (01.11.2015 в 16:09):
(-- чтоб не захламлять страницу, предлагаю по прочтении почистить весь этот оффтоп --)

Короче, софтина уже в работе. )) Вполне нескромно так доволен.
Вскрылся первый (некритичный) баг, вернее, недоработка:
дублирование описаний кряков в одном файле недопустимо, строки должны различаться. Связано с определением индексов этих самых кряков по результатам strcmp() c массивом. С одной стороны, оно бы и не нужно было этого делать, можно брать индекс из листбокса, а с другой стороны остались кое-какие соображения всёже делать именно так.

В общем, поправил программу, добавил простенькое описание, перезалил архив, - можно юзать. Версия 0.001а.

rghost.ru/7CWnGQNyQ
user (31.10.2015 в 02:00):
Да. Вдогонку.
Кнонка <ESC> задублирована с <BACKSPASE>, она же правая мышиная.
Это типа подразумевается по стандарту винды.
user (31.10.2015 в 00:38):
) Пускай ещё поработает, пожалуй. А там видно будет.
ManHunter (31.10.2015 в 00:37):
Ну тогда можно писать документацию и пускать в релиз :)
user (31.10.2015 в 00:31):
Цитатапатч/un-патч бы был без выборочных опций, сразу бы вносились все изменения.
- )) Там есть эта опция. Называется "Patch All".

В софтине учтены все прымхи - идея зрела несколько лет.

Что касается интерфейса - то тут придумывать ничего не стал - воспроизведена классика 1991 года от Corner Craclers. К которой я привык за много лет.

Добавлю - там есть даже экзотическая функция "CHECK" и "PATCH_FORCE".

Это соответственно в виде CRK:

0000123: 11 ??   ;<- CHECK
0000124: ?? 25   ;<- PATCH_FORCE
ManHunter (31.10.2015 в 00:07):
Я бы сделал по-другому, конечно :) Но я, наверное, в свое время не так много работал с CRK-файлами, а сейчас они действительно редко встречаются.
В моем видении это был бы выбор одного CRK-файла через GetOpenFileName или через drag'n'drop и патч/un-патч бы был без выборочных опций, сразу бы вносились все изменения. И на интерфейс в целом у нас разные взгляды.

Но в целом софтинка со своей задачей действительно справляется, я тоже проверил на несколькомегабайтном файле.
user (30.10.2015 в 23:42):
Цитатая тоже потестирую.
- Было бы очень и весьма кстати. Хотел попросить потестить под новыми системами - в частности Vista+ (x32/x64).
Просто думал сегодня её ещё помучить, но вижу, что мучить уже не надо, всё работает, как трактор.

Под Win9x..XP проблем быть не должно - проверил. Неожидано пару часов пришлось потратить на уговоры в Win98 - там LISTBOX не хотел перерисовываться как положено при извратах. Но выкрутился, сейчас работает нормально.

Потестил на серьёзной программе с кучей исправлений (часть из которых досовский CRACKER просто не тянет) - всё работает нормально, даже вполне можно пользоваться.

Вкратце инструкция такова - нету никакой инструкции. Все опции видны, если отодвинуть правую границу окошка диалога. Они же полностью продублированы горячими клавишами. Так что работать можно (и даже желательно) вообще без мыша. Список горячих кнопок - в эбауте (подсказка по F1). Ну, в общем и всё.

Чую, что версия сырая, пока не для паблика.
[del]
Буду признателен за выявленные баги.
ManHunter (30.10.2015 в 22:47):
Закинь куда-нибудь, я тоже потестирую.
user (30.10.2015 в 11:18):
..
Цитатаuser (20.10.2015 в 22:22):
Вообще, я уже близок к написанию, ибо достало.
- )) ну, б.м. уже шеволится.
Итого ушло десяток вечеров. Осталось всякие прымхи - вроде сохранения оригинальной даты/времени файла и т.п.
Ну и теперь тестировать.
user (20.10.2015 в 22:22):
За вечер - путное не получится..
Для WIN32 Консольная совсем не обязательно.
Почему и спрашиваю, не встречалось ли - по причине LFN и x64.

Вообще, я уже близок к написанию, ибо достало.
)Предлагаю матч.

-- Добавлено --
Это ни в коем случае не попытка взять "на слабо".
ManHunter (20.10.2015 в 21:13):
DOS'овские у меня тоже есть, но куда их тут? Кроме перечисленных проблем, они под x64 даже не взлетят, да и под нормальными системами в консольке тоже мало кто патчит. А под винду можно за вечер нечто подобное нарисовать.
user (20.10.2015 в 21:08):
Совсем не попали в обзор ручные патчеры, заряжаемые CRK-файлами (кракеры).
Попадались четыре таких программы, все 1994..97 годов для DOS.
У всех проблемы с длинными именами и памятью.
CRA (Nimnul, 1996)
CRACKER (Corner Crackers, 1994)
CRK (Bolshun/Ivanov, 1996)
CRACK-STUDIO (Turansoft, 1997)

Вот эта подборка: rghost.ru/78ZzkLqW4

А вообще есть что-то путное на эту тему для WIN32?
Noobie (22.09.2015 в 12:47):
Еще раз апну, но уже с конкретными результатами. Сегодня, после длительных поисков найдена простая и бесплатная утилита, идеально подходящая для батчзамены – A.F.9 Replace some bytes, позволяющая искать и менять байты/текст в ASCII, Dec и Hex, причем, в любых сочетаниях и сразу во многих файлах, осуществлять перекодировку по произвольной таблице и т.д. Очень удобно, что шаблоны операций могут сохраняться и загружаться, поэтому их подготовка, особенно для перекодировки, может быть сделана в обычном текстовом редакторе. Скачать утилиту можно здесь – http://www.fauland.com/af9_dl.htm
Надеюсь, что эта инфа будет не лишняя, и возможно, займет свое место в списке нетривиальных патчеров.
Noobie (27.08.2015 в 13:14):
Имеется в виду, скажем, поиск в юникоде некой последовательности в каждом из многих файлов, скажем 00 01 00 02 00 03 и т.д. с заменой на 00 03 00 02 00 01. Как пропатчить кучу файлов в dUP не включая их заранее в некий список внутри патча, я не представляю, хотя вроде курил хелп и спрашивал народ, никто не смог внятно сказать как это делается.

P.S. Одна практическая задача: есть 100500 файлов JPG с неправильно указанным dpi, которое легко правится в hex, и файл становится вполне кондиционным. При этом ни один графический конвертер не способен на такую штуку без изменения содержания самого JPG файла.
ManHunter (26.08.2015 в 14:00):
dUP умеет патчить по несколько файлов сразу. Или тут имеется в виду выгребание по маске *.* и поиск чего-то в каждом файле?
Noobie (26.08.2015 в 13:11):
Апну-ка я тему патчеров. Насколько понимаю, ни один из рассмотренных патчеров не способен работать в batch режиме, а такие задачи встречаются не так редко, как хотелось бы. Бывает нужно одновременно пропатчить уйму файлов, в основном S&R. Для таких задач подходят Replace Pioneer 2.73 - http://www.mind-pioneer.com/ весьма мощная штука, но триал, внутри Perl. Второй вариант - Power GREP - http://www.powergrep.com/. Третим будет Batch Files https://www.binarymark.com/pro...default.aspx
тоже навороченный с урезанным триалом. Одним из этих вариантов приходится пользоваться в тех случаях, когда ни один другой патчер не может помочь.
ManHunter (24.05.2015 в 21:42):
CmpDisasm обновил, спасибо! Физически не успеваю за всем следить :)
Anonymous (24.05.2015 в 21:24):
Пардон если разгневал ссылкой на паразитирующий ресурс:)
Для коллекции (homepage не нашел, поэтому без ссылок):
Clickteam Patch Maker
WinPatch Pro

CmpDisasm - 0.84 последний (exelab)
ManHunter (24.05.2015 в 21:07):
Что касается фикса, то этот выблядок уже давно паразитирует на этом сайте, нагло воруя все материалы без указания авторства. Так что все, что у него есть по твоей ссылке - все спизжено отсюда.
Anonymous (24.05.2015 в 20:57):
Для коллекции можно забрать еще несколько инструментов с:
[ссылка на говносайт удалена]
http://wwe.chemax.ru/tools3.php
ManHunter (25.09.2014 в 16:39):
Добавил Tola's Patching Engine и uPPP. Мои благодарности Anonymous.
ManHunter (25.08.2014 в 01:41):
Надо будет добавить. Спасибо!
Anonymous (22.08.2014 в 02:08):
Для коллекции могу еще посоветовать Tola's Patching Engine
https://tuts4you.com/download.php?view.391
джентльменский набор: патч по смещению, поиск и замена, лоадер, реестр, кастомизация

и Ultimate Patching Program (патчер от известной тимы SnD)
https://forum.tuts4you.com/top...00-uppp-v08/
на tuts4you к нему можно скачать чудовищное количество скинов, преображающих внешний вид получаемых патчей
https://forum.tuts4you.com/fil...-uppp-skins/
ManHunter (10.08.2014 в 15:04):
Добавил WRCPatcher.
ManHunter (17.06.2014 в 23:23):
Да, как-то пропустил его. Добавил, теперь порядок.
user (17.06.2014 в 21:12):
А как же "R!SC's Process Patcher"?
Это же классика...
ManHunter (09.10.2013 в 17:29):
Знаю такого, и это далеко не первая сворованная им статья.
Dinis124 (09.10.2013 в 17:27):
Дурдом... сейчас я понимаю почему "Fiks" [del] МУДАК. Соори за ссылку на него.
sssssss (20.07.2013 в 14:00):
klasss))
ManHunter (01.11.2012 в 22:19):
Ну видимо есть смысл задать этот вопрос авторам русификатора?
lis (01.11.2012 в 22:19):
Часто захаживаю сюда да чтото сайт застыл чтоли.
Уже 2.26 версия дуба (dup), а русик 2.18 ?
Игорь (13.09.2012 в 08:41):
Спасибо, хороший обзор!
CmpDisasm обновился до v0.76.
Alek(@ndr (23.08.2011 в 20:31):
Спасибо, видать так и придётся 1ым и 2ым осваивать 3тье. Задача не слишком сложная, надеялся готовый инструмент нарыть
ManHunter (23.08.2011 в 20:25):
Голова, руки, FASM / MASM.
Alek(@ndr (23.08.2011 в 20:03):
Посоветуйте патчер, или расширение к вышеперечисленным, позволяющее производить арифметические операции и другие преобразования над переменными.
Пример: Прочитали из ветки реестра значении 321*762*912. Нужно выделить 3 числа, сложить их, перевести в 16-ричную СС, записать в файл по указанному смещению
ManHunter (04.07.2011 в 17:31):
Осторожно, деревянный на всю башку мудила! Нормальным людям вдумчиво читать последний абзац.
антивир (04.07.2011 в 17:29):
осторожно вирусы
Александр (25.05.2011 в 02:15):
Спасибо за подборку, но в последней на оф. сайте версии DUP 2.22 Касперский обнаруживает Trojan-GameThief.Win32.OnLineGames.xurs, вернее уже в созданном ею патче-exe... Сразу же Каспер удаляет патч, даже не дав его опробовать. На форуме оф. сайта есть топик с такой проблемой, но про решение ничего не ясно...
Еще раз спасибо за труд, ManHunter!
Роман (19.05.2011 в 16:09):
Хорошо бы инструкции к прогам, хоть на одном примере...
ManHunter (24.02.2011 в 21:41):
Браузером качать не пробовал? Обычно помогает.
Metabolic (24.02.2011 в 21:38):
Помогите - как скачать! как только не пробовал, всё время скачивается какой-то битый 25kb архив и так на всех программах.
ManHunter (13.01.2011 в 21:56):
Где-то написано что это я делал русификатор? Я о себе в третьем лице никогда не говорю.
вездеход (13.01.2011 в 21:52):
Хорошая статья. Кстати. Автор dup на форуме просил сделать русский перевод (писал, что у него мать русскоговорящая), а он сам не владеет Если вы делали русификатор, то почему бы туда не отправить тоже. Правда, там уже версия другая.
Lenin (30.09.2010 в 00:19):
Хорошая инфа, благодарю.
ManHunter (07.06.2010 в 01:45):
Zver, пизданись башкой об угол и сдохни, спамер ебаный.
Zver (04.06.2010 в 21:58):
Как я понял для создания патчей нужна активированая прога.Оч плохо.Я просто не нашёл кряк на хрумер 5 и хотел сам сделать его.Помогите если можно.Связь по моему сайту - [спам]
ManHunter (18.03.2010 в 07:04):
Или руки кривые, что более вероятно.
Ирина (18.03.2010 в 01:20):
Advanced Loader Generator 1.50 - архив пустой!
ManHunter (23.11.2009 в 10:06):
Добавлен ByteKiller
roman (07.09.2009 в 11:02):
Спасибо. Помогло.
slept69 (06.09.2009 в 03:04):
Спасибо за програмки :)
ManHunter (23.04.2009 в 00:40):
Abel Loader Generator обновлен до версии 2.31, спасибо Дмитрию
Energizer (08.04.2009 в 15:40):
Наконец то я сделаю нормальную загрузку для своего мода на GTA San Andreas! Спасибо!
ManHunter (26.03.2009 в 12:18):
File Compare обновлена до версии 2.8, спасибо товарищу KeyGen за дистрибутив!
EPLO (11.03.2009 в 20:50):
Спасибо за выкладки, благодарю за информацию...

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0045 сек.) / Память: 4.5 Mb
Наверх