holy Опубликовано 13 июня, 2016 Поделиться Опубликовано 13 июня, 2016 Привет народ ) Наткнулся на данный раздел и появилось желание создать данные TrainMe. Немного о них: Написаны они на C и имеют 4 разных механизма защиты. Программы представляют из себя простые окна с 2-мя кнопками "Add value" и "Dec value" которые прибавляют и убавляют значение на 10. Требуется найти ключевые адреса программ и написать простенький трейнер (если влом писать код, можете просто описать алгоритм борьбы с механизмами) Уровни сложности: Level 1 - легкий Level 2.1, Level 2.2 - средний Level 3 - я считаю что сложный, но возможно тоже средний Задание: Требуется во всех 4х программах суметь установить значение в 5000 чтобы при нажатии кнопки "Add value" и "Dec value" оно изменялось корректно. А также, если находите не статичные данные (т.е. динамическу.) обязательно найти указатель на это значение, иначе задание не является выполненным. Не обязательно писать трейнеры к ним либо скидывать CheatEngine-файлы (хотя это было бы всё плюсом), достаточно просто описать ваш алгоритм действия. Доступны по ссылке - http://rgho.st/private/8GPnCjVFd/060bcfffb341a2520c617e4516d8b7a4 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 Записать прям на прямую и всё. TrainMe - Level 3.exe+1385 - 83 28 0A - sub dword ptr [eax],0A { 10 } Через mov dword ptr [eax],#5000 и всего делов. И так де на прибавление. Или в каком смысле изменялось корректно Там правда сверху прыжок идет на эти 3 байта nop но его затереть и всё. Всё пашет - не вылетает, а более и не надо не чего. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 18 час назад, holy сказал: Требуется во всех 4х программах суметь установить значение в 5000 чтобы при нажатии кнопки "Add value" и "Dec value" оно изменялось корректно. Табличка СЕ для всех 4. 18 час назад, holy сказал: Level 3 - я считаю что сложный, но возможно тоже средний Оказался проще всех остальных. TrainMe Level All.CT 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 (изменено) О каких механизмах защиты шла речь? Взломал все 4 приложения и что-то не заметил. Это которая проверка с выводом сообщения? Алгоритм взлома везде одинаковый: Открыть CDA Code Dynamic Analysis. Начать запись. Нажать на каждую кнопочку. Поставить фильтр на запись с выполнением 1-2 функции. Написать скрипт на найденную функцию. Изменено 14 июня, 2016 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
holy Опубликовано 14 июня, 2016 Автор Поделиться Опубликовано 14 июня, 2016 2 hours ago, Garik66 said: Табличка СЕ для всех 4. Оказался проще всех остальных. TrainMe Level All.CT Извини, но почему-то скрипты только на Level 1 применялись На остальных не работало 3 hours ago, LIRW said: Записать прям на прямую и всё. TrainMe - Level 3.exe+1385 - 83 28 0A - sub dword ptr [eax],0A { 10 } Через mov dword ptr [eax],#5000 и всего делов. И так де на прибавление. Или в каком смысле изменялось корректно Там правда сверху прыжок идет на эти 3 байта nop но его затереть и всё. Всё пашет - не вылетает, а более и не надо не чего. Как простой вариант - согласен. 30 minutes ago, partoftheworlD said: О каких механизмах защиты шла речь? Взломал все 4 приложения и что-то не заметил. Это которая проверка с выводом сообщения? Теоретически, я думал что все-таки народ попытается найти адреса значений и разобраться как сделать так, чтобы все работало не меняя код программы в памяти. Описание защит (я не говорю что они суперские, просто я решил реализовать их): - Level 1: Просто указатель, классика ) тут без комментариев - Level 2.1: Фейковое значение (отображается значение которое хранится в зашифрованном виде в памяти). Тут требовалось найти адрес значения (находится достаточно быстро, приложение маленькое и неизвестные значения быстро отсеиваются), затем узнать как оно хранится и записать туда зашифрованное число 5000. - Level 2.2: Контрольная сумма. При изменении значения в памяти проверяется контрольная сумма. Тут требовалось в дизассемблере Cheat Engine (ибо там пару строк) найти где хранится хеш-сумма и найти как туда сохраняется значение после нажатия клавиш Add и Dec. - Level 3: Его я назвал сложнее предыдущих потому-что это модификация Level 1 с одним лишь исключением, в памяти не хранится указатель в явном виде, он хранится в памяти в зашифрованном виде. В принципе, бит хак тоже уместен. Но это не такое красивое решение Следующие TrainMe сделаю иначе, чтобы просто так не битхакали Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 16 минуту назад, holy сказал: Извини, но почему-то скрипты только на Level 1 применялись На остальных не работало Ссылка на комментарий Поделиться на другие сайты Поделиться
holy Опубликовано 14 июня, 2016 Автор Поделиться Опубликовано 14 июня, 2016 Garik66, накосячил слегка. Работают все ) Но если изменить в Level 2.2 значение и нажать "Add" или "Dec" то вылезет сообщение моё, о том что была обнаружена модификация значения ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 1 минуту назад, holy сказал: Garik66, накосячил слегка. Работают все ) Но если изменить в Level 2.2 значение и нажать "Add" или "Dec" то вылезет сообщение моё, о том что была обнаружена модификация значения ) Я уже снова удалил. Проверять ломает, но на видео вроде видно, что всё работает правильно - т.е. на всех 4 при нажатии на обе кнопки значение 5000. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 4 минуты назад, holy сказал: Но если изменить в Level 2.2 значение А ты наверное про Value, его то трогать не нужно, я его в таблице оставил просто так, а нужно просто активировать скрипт и всё будет ХОККЕЙ. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 июня, 2016 Поделиться Опубликовано 14 июня, 2016 22 часа назад, holy сказал: и появилось желание создать данные TrainMe. holy, хоть было и легко, но всё равно интересно. Ждём новых, более сложных задачек. Ссылка на комментарий Поделиться на другие сайты Поделиться
holy Опубликовано 14 июня, 2016 Автор Поделиться Опубликовано 14 июня, 2016 8 minutes ago, Garik66 said: Ждём новых, более сложных задачек Угу, будут ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения