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

 eXeL@B —› Основной форум —› Проблема поиска команд
Посл.ответ Сообщение

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

Создано: 25 декабря 2005 02:05 · Поправил: Модератор
· Личное сообщение · #1

Добрый день. Есть несколько вопросов по упрощению редактирования:

1. Как находить все строчки, где программа сравнивает что-то с цифрой 8?

Т.е. строчки "cmp <что-то>, 8", причём в каждом случае "что-то" может обозначать разные регистры или переменные?

Желательно, чтобы это можно было делать и в Hex-редакторе(для упрощения замен).

2. Как сделать так, чтобы программа(hex-редактор, например), заменила, скажем, 100 одинаковых строк на ту, которую я укажу? Не все, которые есть, и не одну конкретную, а именно 100. Или любую другую цифру, которую я укажу.

Спасибо.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 25 декабря 2005 07:42
· Личное сообщение · #2

Skyer пишет:
1. Как находить все строчки, где программа сравнивает что-то с цифрой 8?

Задача кстати не простая.
Наверное, IDA как-то это умеет. Но я в ней не спец.

Допустим поиск команд в той же Olly не решит проблему полностью.
Хотя лучше так: "cmp word ptr [r32],8" чем никак.
Только потом ещё и так "cmp dword ptr [r32],8", и так "cmp byte ptr [r32],8", а затем для r8,r16 потом для const, и всё равно остаются все виды адресации со смещением, а их просто до фига ([r32+x],[r32*x],[r32+r32+x] и т.д.)

Короче говоря, сомневаюсь, что есть одна такая кнопочка для ответа на твои вопросы.

Однако всегда можно написать что-то самому. Так ты и Асм поймёшь изнутри и проблему решишь.
Здесь ссылка на готовый дизассемблер:
http://www.exelab.ru/f/action=vthread&forum=2&topic=3173
тебе нужно только прикрутить его и создать интерфейс поиска.

-----
Всем привет, я вернулся




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 25 декабря 2005 08:14
· Личное сообщение · #3

Bitfry пишет:
в той же Olly не решит проблему полностью.

Search for -> All constant -> 8
;))

-----
TBR




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 25 декабря 2005 08:23 · Поправил: Bitfry
· Личное сообщение · #4

Grey
А ты сам пробовал так искать (в реальной проге все нужные значения) ?

Правка:
Хотя да Grey прав, можно так искать.
Только нужно потом всё это скопировать в текстовый редактор и оставить только строки с нужной командой.
Но это не решает проблему автоматической замены значения... Если только скрипт написать... Хм???

-----
Всем привет, я вернулся





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 25 декабря 2005 08:28
· Личное сообщение · #5

Bitfry пишет:
А ты сам пробовал так искать (в реальной проге все нужные значения) ?

Да... Я пробовал - где то после 50 совпадения бросил это.
А вообще я где то слышал, что HIEW умеет искать по маске.

-----
Yann Tiersen best and do not fuck




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 25 декабря 2005 08:37
· Личное сообщение · #6

Bitfry пишет:
А ты сам пробовал так искать

А как же =))
Была программа - автор гнал на одной цифре. Лепил ее всюду. Так приятно было работать =))
Search for -> All constant -> 5, Set breakPoint on Every Command и вперед, ловить проказника. Прыгаешь от бряка к бряку и смотришь что те надо

-----
TBR




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 25 декабря 2005 16:02
· Личное сообщение · #7

PE_Kill пишет:
Да... Я пробовал - где то после 50 совпадения бросил это.

Это чем же ты искал?

-----
TBR




Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 26 декабря 2005 00:48
· Личное сообщение · #8

hiew file.exe f7->f7->cmp ?,8




Ранг: 84.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 26 декабря 2005 06:25 · Поправил: TOG
· Личное сообщение · #9

А лучше так:
hiew file.exe , F7, F7 ---> CMP *, *8

Это еще будет искать и
cmp (что-то), (D)WORD PTR 8.

правда будет небольшой процент ложныx срабатываний.


 eXeL@B —› Основной форум —› Проблема поиска команд
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати