Binary Auto Patcher
praccprefere

Support


Рейтинг: 136


Сообщений: 41


Спасибок: 19

Автор
@Garey
Требования
Windows
Универсальный патчер файлов.

Особенности:
- Конфиг патчей в формате json.
- Поиск паттернов (сигнатур) и замена по маске с пропуском определенных байтов (wildcard).
- Для поиска можно использовать как массив из байтов так и строки.
- Возможность проверки результатов поиска.
- Возможность создавать вложенный поиск и патч.
- Возможность сдвига патча (offset) в зависимости от настроек конфига.
- Достаточно быстрый алгоритм поиска

Использование:
Примеры патчей на гитхабе:
В файле example_1.json и example_2.json фактически одинаковые патчи, только в первом примере показан вложенный поиск.

Возможные поля JSON конфига:
  • pattern - обязательная строка с вложенными параметрами, должно содержать объект search
  • search - обязательный объект, задает строку или массив из байтов для поиска в файле.
  • max_search - возможный объект, указывает в каком промежутке от прошлого результата поиска (или от начла) искать сигнатуру или строку.
  • wildcard - возможный объектзадает байт который будет пропускатся при поиске search
  • name - возможный объект, задает имя патча для вывода в консоль.
  • replace - возможный объект, при нахождении строки или байтов в поле search - заменяет байты заданные в этом объекте.
  • replace_wildcard - возможный объект, задает байт который будет пропускатся при замене байтов replace
  • replace_offset - возможный объект, перед заменой байтов - смещает область замены на указанное количество байтов вперед (для смещения замены назад - использовать знак минус)
  • validate - возможный объект, используется для проверки байтов после нахождения байтов в search, если используется wildcard - он также действует на validate.
  • вложенный pattern - необязательный объект с вложенными параметрами, может использоваться для точного поиска или замены, точкой старта будет успешный результат поиска родителя, если же результат поиска родителя провалится - вложенный pattern будет проигнорирован.
Параметры запуска программы:
  • -input - имя входного файла для работы с ним.
  • -output - имя выходного файла (если не используется, выходной файл будет совпадать с входным + расширение ".patched"
  • -config - имя конфигурации патчей формата json
  • -force_invalid - если в конфиге используется валидация поиска (validate), то замена байтов будет осуществляться даже при несоответствии байтов.
Пример патча разрешения для стим кс 1.6:
JSON:
{
    "pattern": {
        "name": "Steam Low Resolution Patch",
        "search":     "817C24CC00030000",
        "wildcard": "0xCC",
        "replace":     "817C24CC01000000",
        "replace_wildcard": "0xCC"
    }
}

Скачать файл

by praccprefere

Авторизация
  Войти через ВК
Последнее на форуме

Играем в слова

Дата: 27 февраля 2021 г, 18:28

Автор: Monax

Досчитаем до 1000?

Дата: 27 февраля 2021 г, 18:26

Автор: Monax

Демо по запросу

Дата: 25 декабря 2020 г, 23:24

Автор: praccprefere

Крутые моменты

Дата: 21 декабря 2020 г, 20:36

Автор: КтО ЗдЕсЬ?

Клиент Counter-Strike 1.6

Дата: 13 декабря 2020 г, 20:53

Автор: praccprefere