![]() |
$banner_comment_start

 |
|
Домой |
Статьи |
RAR-cтатьи |
Форум |
Программирование |
Скачать |
DVD-ROM
|
|
|
|
Новичку |
FAQ |
Ссылки |
Интервью |
Архив |
Новости |
Связь |
|
Сейчас на форуме: crypto, RaMMicHaeL, Ara (+7 невидимых пользователей) |
 |
|
| Посл.ответ |
Сообщение |
|
Создано: 26 мая 2006 13:19:29 Личное сообщение #1
вот собственно тема, надо программно найти ссылки на комманду...
допустим есть адресс:
004060BC /$ 53 PUSH EBX
если этот адресс вызывается, то будет что-то типа
004524CB . E8 EC3BFBFF CALL 004060BC
здаётся мне что без диззасма никак не обойтись... я прав?
----- [nice coder and reverser] |
|
|
Создано: 26 мая 2006 13:24:27 Личное сообщение #2
прав
|
|
Создано: 26 мая 2006 13:30:15 · Поправил: Hellspawn Личное сообщение #3
мля весь файл придётся диззасмить...
надо думать над оптимизацией.. спасибо
----- [nice coder and reverser] |
|
Создано: 26 мая 2006 13:33:05 Личное сообщение #4
можно сделать и стат. анализ, правда глюков (и неправильного распознания) не оберешься. Минимум требуется дизасм длин с проверкой на то, калл это или джамп..
----- © Не каждый программист - крэкер, но каждый крэкер - программист ;)
|
|
Создано: 26 мая 2006 13:39:44 Личное сообщение #5
можно обойтись дизассемблером длин
|
|
Создано: 26 мая 2006 13:48:04 Личное сообщение #6
хм... значит делаю диззасм кусочками, смотрю есть ли call среди них
высчитываю по формуле куда он указывает
x - смещение команды
y - длина команды call
z - куда прыгаем
m - итог
m:= z - x - y;
z := m+x+y;
и проверяю, лежит ли по этому адрессу то что мне надо... вроде так?
----- [nice coder and reverser]
|
 |
|
|
| Вы находитесь на форуме сайта CRACKLAB.RU |
|