Сейчас на форуме: Rio, vsv1, site-pro (+6 невидимых)

 eXeL@B —› Софт, инструменты —› Как использовать IDA для поиска причины исключения(креша) в программе
Посл.ответ Сообщение

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

Создано: 27 декабря 2012 13:24
· Личное сообщение · #1

Привет Может кто подсказать нубу, извиняюсь за этот вопрос но все таки помогите...
Я некогда не занимался ничем подобным, но сейчас мне как одному из команды по разработке программы необходимо устранить креши, из обстоятельств которых известно только что то вроде

-------------- Unhandled Exception Report Start --------------
Exception code: 0xC0000005 (Access Violation)
Exception address: 0x73E72EB4
Exception module: SOME.dll (+0x00002EB4)
Exception registers:
GS=0x0000002B FS=0x00000053 ES=0x0000002B DS=0x0000002B
EDI=0x00E29C74 ESI=0x00E29900 EBX=0x0011811C EDX=0x083C5BB0
ECX=0x00000000 EAX=0x00000034
EBP=0x02D9E704 EIP=0x73E72EB4 CS=0x00000023 EFLAGS=0x00010203
ESP=0x02D9E6FC SS=0x0000002B
--------------- Unhandled Exception Report End ---------------

Собственно я таким не занимался ибо задачи другие в проекте,
но сейчас это необходимо, пусть даже я знаю что такое access violation, мне нужно установить причину. исходный код SOME.dll есть, однако SOME.dll используется другой EXE, исходного кода которой у нас нету.

Я привык работать с файлами DMP в visual studio.
Помогите пожалуйста, как хотя бы в IDA найти место в котором прозоизошла ошибка, хотя, asm код мне не поможет её исправить..




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 27 декабря 2012 13:37
· Личное сообщение · #2

agehack
Да найти просто, у вас база SOME.dll в данном случае равна 0x73E70000, к базе прибавить смещение +0x00002EB4, т.е. в данном месте из контекста выполнения видно, что исключение произошло по адресу 0x73E72EB4. Грузить бинарь в иду, потом Edit -> Segments -> Rebase program и пишете туда новую базу. Потом давим G и пишем адрес из EIP. Всё.

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 27 декабря 2012 13:42
· Личное сообщение · #3

О. спасибо, попробую. А то я не очень с этим, еще пробовал Jump to address :D



Ранг: 117.5 (ветеран), 5thx
Активность: 0.080.01
Статус: Участник

Создано: 03 января 2013 18:52
· Личное сообщение · #4

вообще то для ida уже есть инструментарий - http://www.hexblog.com/?p=669 все четко расписано))


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


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