Сейчас на форуме: _MBK_, asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Нелогичный адрес инструкции...
Посл.ответ Сообщение

Ранг: 1.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 мая 2009 01:58
· Личное сообщение · #1

Распаковываю ASProtect. Наверное версии 1.35. Занимаюсь "рассекречиванием" переходников к API - функциям. Написал нужный скрипт. Меня поставил в тупик вот какой вопрос: По идее надо найти в секции кода эти переходники по опкоду #e8#, затем сделать с ними то, что требуется и получить в результате нужный нам адрес для перехода. Но ведь это, грубо говоря, число (e8) может встретиться в программе не в начале команды, а где-нибудь в середине. А скрипт ее найдет! Найдет и воспримет как команду call xxxx, а это же ошибка. Как быть?



Ранг: 24.5 (новичок)
Активность: 0.040
Статус: Участник

Создано: 15 мая 2009 09:44
· Личное сообщение · #2

вроде там в скриптах он проверяет наличие перехода путем #e8??????01# и через VirtualProtect.посмотри другие скрипты, как там...




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 15 мая 2009 09:53
· Личное сообщение · #3

можно делать примитивные вычисления:
определить адрес назначения call и проверять, попадает ли он в определённые пределы: вирт. размер образа, интервал некоторой вирт. памяти и т.п.
если идёт редирект в определённую область памяти, то проверять границы этой памяти
такой метод отсеит большую часть некорректных вызовов
в идеале конечно использовать нормальный дизасм )

-----
EnJoy!




Ранг: 1.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 17 мая 2009 22:16
· Личное сообщение · #4

Спасибо, в общих чертах ясно. Просто, как всегда, не бывает...


 eXeL@B —› Вопросы новичков —› Нелогичный адрес инструкции...
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати