Нора Кар-Карона. Нотарикон.
Кар-Карон
дневник заведен 16-03-2007
постоянные читатели [25]
3 CaHuTaPa, 3_62, Andry Smart, blackpuma_lara, Canterbury, croix, Dummy, Eroshka, heavenly girl, Kretik, Lika_uafm, Piccolo_fiore, S Castor, the_Dark_One, Volkodav, z_g, Заноза, Карпатский ёж, Лиэс, Осень, Рагнар Лодброк, Тин, Тюпки атакуют, Хикки_коморный, Шпулька
закладки:
цитатник:
дневник:
местожительство:
Днепр, Украина
22-05-2017 16:48 612. Лень и любопытство.
Лень мне проходить игрищща по чесноку.
Да и времени жалко.
Начал mass effect andromeda, захотелось всего и сразу.
Качнул трейнер, а он малость калеченый.

Решил его чуток улучшить. Начал разбираться.
Трейнер сделан на базе "Cheat Engine 6.6"
Но с нюансами. Т.е. сам код, который читит игру - зашифрован.
Школота, которая улучшает такого рода ПО внедрила туда супер-пупер защиту.
Т.е. трейнер это исполняемый файл и к нему допись в виде архива "CET_Archive.dat"
При запуске - исполняемый файл трейнера извлекает из себя допись CET_Archive.dat, затем распаковывает CET_Archive.dat в виде необходимого набора файлов (минимальная среда выполнения Cheat Engine + таблицу трейнера (держит ее в ОЗУ).
Сама таблица CET_TRAINER.CETRAINER хранится в архиве в зашифрованном виде (запаковано zlib - если распаковать - зашифровано - если расшифровать - еще один zlib)
Причем, чтобы расшифровать было сложнее - трейнерописатели собирают свой Cheat Engine из исходников и вставляют в него свой оригинальный алгоритм шифровки дешифровки.
Я думал как победить ЭТО целую минуту (реализация заняла 10). И вот, собсно, победил.
Раскрытие фокуса:
1. Таблица трейнера в расшифрованном виде - это xml файл, который выглядит как:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion=
блаблабла
</CheatTable>
2. Запускаем трейнер. Жмем Ctrl+Alt+Del. Запускаем диспетчер задач и говорим ему "а сделай-ка ты мне дамп вот этого процесса" (там есть такой пункт меню).
3. Запускаем любой редактор гигантских текстовых файлов, который "умеет" utf-8 (я ленивый - у меня Far Manager) и редактируем дамп (в моем случае из 240 мегабайт осталось 110 килобайт).
Ищем начало (<CheatTable CheatEngineTableVersion= ), отрезаем все перед ним, ищем конец (</CheatTable> ), отрезаем все после него...
Добавляем первую строку (<?xml version="1.0" encoding="utf-8"?> ), т.к. программа в ОЗУ немножко иначе ее "держит".
Сохраняем как имяфайла.CETRAINER
Profit!

Ваш комментарий:
Камрад:
Гость []
Комментарий:
[смайлики сайта]
Дополнительно:
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
Закрыть