![]() |
eXeL@B —› Вопросы новичков —› Ткните носом, что нетак |
Посл.ответ | Сообщение |
|
Создано: 31 мая 2011 13:00 · Поправил: Sonic_X · Личное сообщение · #1 Приветствую. Подскажите что делаю нетак. Нашел адресс в программе где идет сверка S/N, там в регистре ЕСХ находится правильный регномер, Адрес этот равен $00484F80, ОЕР проги по адресу (сморел в отладчике) $00544C77. Ну и собственно задумал написать утиль которая бы загружала прогу и считывала этот правильный регномер и потом прибивала бы цель. Мой алгоритм действий такой: 1.Создаем процесс с флагом отладки и приостанавливаем его 2.Ставим прерывание на ОЕР, отпускаем поток 3.Ловим Int3, возвражаем назад байт 4.Ставим новое прерывание на уже нужный нам адрес 5.Ловим Int3, читаем регистр ЕСХ 6.Прибиваем поток. Вот код который я наваял: Code:
Так вот ну никак не словлю прерывание, смотрел в отладчике Delphi как выполняется программа - 2 раза сравнит CNTX.eip - 1 = OEP и все, что я делаю нетак? ![]() |
|
Создано: 31 мая 2011 13:13 · Поправил: SReg · Личное сообщение · #2 можешь так написать, проще будет Code:
![]() |
|
Создано: 31 мая 2011 13:20 · Личное сообщение · #3 |
|
Создано: 31 мая 2011 13:39 · Личное сообщение · #4 SReg Не будет работать, так как регномер генерится в процессе загрузки проги, поетому и задумано сначало прерватся на ОЕР, и только потом на адресе нужном когда регномер уже сгенерирован и остается тока его взять, или я неправ? Archer пишет: Не будет работать код А как сделать правильно? мне то и нужно всего ничего 2 раза брякнутся и прочитать регистр, программа написана на Qt4. ![]() |
|
Создано: 31 мая 2011 13:51 · Поправил: SReg · Личное сообщение · #5 |
|
Создано: 31 мая 2011 14:15 · Личное сообщение · #6 |
|
Создано: 31 мая 2011 14:37 · Поправил: OnLyOnE · Личное сообщение · #7 Sonic_X пишет: регистре ЕСХ находится правильный регномер Возможно покажусь не оригинальным, но если указатель на правильный рег.номер открыто лежит регистре... не проще ли проанализировать алго генерации и написать элементарный кейген?! ![]() А не извращаться пытаясь писать сниффер? P.S. Название программы подскажи.. или это тайна бермудского треугольника? ----- aLL rIGHTS rEVERSED! ![]() |
|
Создано: 31 мая 2011 14:51 · Поправил: Sonic_X · Личное сообщение · #8 Archer пишет: Непонятно, зачем TF Этот код написан опираясь на статью http://cracklab.ru/art/?action=view&id=74, видно я упустил что-то или непрально понял. SReg пишет: Похоже что ты вообще непонимаешь что пишешь Возможно. Неправильно цикл ожидания? А можно пояснить откуда взялся $0088E1EE ? OnLyOnE пишет: не проще ли проанализировать алго Там идет проверка введенного S/N и рядом правильный, мне показалось что так проще будет - стянуть правильный регномер. Видно я ошибался... P.S. Сильно ногами не пинайте, я тока учусь ![]() ![]() |
|
Создано: 31 мая 2011 15:04 · Поправил: Sonic_X · Личное сообщение · #9 |
|
Создано: 31 мая 2011 15:16 · Поправил: OnLyOnE · Личное сообщение · #10 |
|
Создано: 31 мая 2011 15:25 · Поправил: Sonic_X · Личное сообщение · #11 |
|
Создано: 31 мая 2011 15:35 · Личное сообщение · #12 |
|
Создано: 31 мая 2011 16:11 · Личное сообщение · #13 |
|
Создано: 01 июня 2011 15:11 · Личное сообщение · #14 |
![]() |
eXeL@B —› Вопросы новичков —› Ткните носом, что нетак |