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

 eXeL@B —› Основной форум —› как научить IDA 5.0 распознавать функции?
Посл.ответ Сообщение

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

Создано: 18 июня 2007 00:10
· Личное сообщение · #1

попалась прога, небольшая но неприятная.
компилятор вроде VC 7.1, MFC там, СОМ юзается широко.
серийник генерится вендором с привязкой к железу.
но дело не в этом. при разборе файла идой обнаружилось, что 80% функций не определяются.
вот примерчик:
dw 0CCCCh
; ----------------------------------------------------------
mov eax, [esp+4]
test eax, eax
jl short loc_486FE9
cmp eax, [ecx+8]
jge short loc_486FE9
mov ecx, [ecx+4]
lea eax, [eax+eax*2]
lea eax, [ecx+eax*8]
retn 4
; ----------------------------------------------------------

loc_486FE9: ; CODE XREF: .text:
; .text:
call ?AfxThrowInvalidArgException@@YGXXZ
; -----------------------------------------------------------
dw 0CCCCh
вот такую конструкцию ида как функцию не воспринимает, а их - 80% и многие страниц по десять.
конечно можно выделить и нажать на Р, но так на весь файл неделя уйдет. fubar не помогает, даже хуже делает - в середине функции часть кода как функцию трактует (правда у меня от версии 4.9).
подскажите, что делать, может скрипт какой наваять можно (ни разу не пробовал еще).




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 18 июня 2007 01:23
· Личное сообщение · #2

Посмотри эту статью, скрипт можно переработать под твою задачу: xtin.activebb.net/Coaoue-c1/Win32-reversing-f2/Daaaoneia-OLE-COM-iauaeoia-t5.htm

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




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

Создано: 18 июня 2007 07:33
· Личное сообщение · #3

tnt17 пишет:
Посмотри эту статью

спасибо! статья интересная во многих отношениях.
если что получится - отпишусь.


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


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