Сейчас на форуме: vsv1 (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Взлом патчера памяти - как? |
Посл.ответ | Сообщение |
|
Создано: 19 июня 2006 16:42 · Личное сообщение · #1 Я новичок, помогите разобраться мне с простым вопросом. Существует ПрогаВ1 и существует лоадер для нее меняющий в памяти байты. Подскажите НОВИЧКУ как можно определить по каким а дресам и какие байты меняет лоадер? Вопрос задаю в связи с тем что вышла нов вер. ПрогаВ2 и надо сделать лоадер для нее. Пробовал делать дампы прогВ1иВ2 при помощи Оли. Потом сравнивал полученные дампы Винхексом, находил различия, но понял что иду по неправильному пути, так как измененные адреса в памяти процеса и адрес в сравниваемых дампах трудно сопоставить, а мне надо найти изменяемую функцию, привести ее в 16 разр вид и сделать лоадер ищущий и заменяющий в проге2 последовательность байт (функцию). Видимо существует 2 метода: 1. Анализ самого патчера. 2. Анализ памяти изменяемого процесса и сравнение... Прошу Уважаемых ГУРУ помощи, что и как делать, может быть есть статьи на эту тему - для самых маленьких, дайте наипростейшие ПОНЯТНЫЕ НЕИСКУШЕННЫМ методики решения проблемы. Заранее благодарен всем отозвавшимся. ![]() |
|
Создано: 19 июня 2006 16:56 · Поправил: Muss · Личное сообщение · #2 И еще: лоадер который запускает ПрогуВ1 работает по принципу поиска активного процесса ПрогиВ1 и потом там меняет, автоматом подхватывает все запущенные процессы ПрогиВ1. Лоадер для ПрогиВ2 хочу сделать при омощи патчмейкера, чтоб также перехватывал процессы. Основную проблему для меня составляет поиск измененных мест в проге1 после пропатчивания. ![]() |
|
Создано: 19 июня 2006 17:30 · Личное сообщение · #3 Muss Ответы увы не тривиальны. 1) Чтобы узнать патч для 1-й программы - бряк по WriteProcess..... и анализируешь для чего это место патчили. Достаточно просто, если в проге нет антитладочных приемов. 2) Чтобы перенести патч на 2-ю(обновленную программу) - ищешь похожие места и проверяешь, что ничего нового не добавлено. Потом делаешь патчер/лоадер. Может оказаться, что в новом варианте поменяли защиту - тогда этот вариант не пройдет. Ну и главное, чтобы сделать пункт 1 и 2, надо самому быть совсем не новичком во взломе. ![]() |
|
Создано: 20 июня 2006 03:22 · Поправил: Muss · Личное сообщение · #4 1) Антиотладочные приемы в Проге1 и патчере есть( yoda's Protector). 2) С прогой2 патчер работать не будет (Определяет версию жертвы, а потом патчит), чтоб найти похожие места надо знать где делает изменения в Проге1 патчер. Неужели так все сложно? Даже ВинХР есть какаято дребедень которая постоянно ругается пока ее не отключиш что мол прога обратилась к памяти другого процесса... А вот как эти обращения проследить и узнать куда и что пишет? Возможноли проследить обрашения патчера при помощи допустим Filemon, если можно подскажите как его настроить для этого. Существует ли другой софт для подобного мониторинга, помогите с настройками. Заранее благодарен всем отозвавшимся. ![]() |
|
Создано: 20 июня 2006 03:24 · Личное сообщение · #5 |
|
Создано: 20 июня 2006 09:01 · Личное сообщение · #6 Бряк на CreateProcess, дампишь чистый exe. Бряк на ResumeThread, дампишь пропатченый exe Сравниваешь два дампа, находишь различия. Выделяешь сигнатуры пропатченых мест. Окрываешь в OllyDbg прогу2 и ищешь там эти сигнатуры и запоминаешь адреса, (если нет, то облом) Пишешь новый лоадер, втыкая в него новые адреса и что изменено во втором дампе. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 20 июня 2006 09:53 · Личное сообщение · #7 Muss пишет: Неужели так все сложно? Совсем несложно. Вверху страницы есть пункт "Новичку". Прочитав его, и в зависимости от способностей через N-ое время сможешь сделать. Обнаружить обращение совсем несложно, в случае лоадера это еще проще, но вот для "апгрейда патча" нужно хоть чуть-чуть разбираться в системе команд, в системных функциях, в протекторе yoda и т.д. и т.п. Странно, почему-то никто из новичков, не спрашивает как научится водить автомобиль, а читают Правила и Инструкции, а вот с компом все считают себя ассами. ![]() |
|
Создано: 28 июня 2006 18:53 · Поправил: Muss · Личное сообщение · #8 Решение для чайников найдено =) Всем спасибо за ответы и советы, учту все на будущее. С данной проблемкой всеже получилось справиться как мне кажется проще. Случайно наткнулся на старую прогу переделанную под ХР "TrainerSpy" _http://www.team-x.ru/xforum/index.html?act=Attach&type=post&id=28889 Запустив через нее патчер в окне TrainerSpy увидел все обращения патчера к памяти ПрогиВ1, присоединив Олю к процессу ПрогиВ1 пробежался по ее памяти и переписал байты функций в которых патчер сделал изменения. Аналогично запустил ПрогуВ1 без патчера и переписал байты функций. При помощи патчмейкера dup2 сделал патчик по поиску и замене. Может мне просто повезло - в общем все прокатило. Единственная проблема заключается в проге TrainerSpy - глючит, с некоторыми патчерами вообще не работает, нет функции создания лога. Есть ли еще альтернативный софт подобного рода? ![]() |
|
Создано: 28 июня 2006 19:57 · Личное сообщение · #9 |
|
Создано: 29 июня 2006 01:12 · Личное сообщение · #10 Спасибо за ответ, вот только я раньше штуки 3 api мониторов разных скачал - а толку ноль. Не мог их настроить для работы, сильно глючило и все висло - у меня Вин2003серв. Если у кого получилось настроить дайте пожалуйста ссылку на такой нормальный монитор под 2003винду с файлом настроек на логирование WriteProcessMemory исследуемой программы-процесса. Хочется еще и таким инструментом попробовать, ведь в TrainerSpy нет логирования результатов и в общем очень неудобно из нее было все переписывать, ну и еще глюки там есть. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Взлом патчера памяти - как? |