IDA + Bochs: нафига оно надо?

IDA + Bochs: нафига оно надо?
Я как-то уже писал об эмуляторе x86emu для IDA, но сегодня я хочу рассказать о гораздо более мощном эмуляторе Bochs . Bochs представляет собой полный эмулятор системы, на базе которого вы можете загрузить любую ОС (если только нужное для загрузки этой ОС железо поддерживается эмулятором).
В эмуляторе есть встроенный отладчик , который позволяет отлаживать загрузку операционной системы еще на раннем этапе. Но самое интересное другое, а точнее то, что начиная с версии IDA Pro 5.4 появилась возможность подключаться к отладчику Bochs из стандартного интерфейса IDA. Работает эта связка достаточно быстро, в отличии, если вы попытаетесь загрузить винду под эмулятором и выполнить какие-то осмысленные действия. А том, как подключить отладчик Bochs из IDA уже есть хороший мануал , а я постараюсь рассказать собственно зачем это делать. На самом деле эту возможность почему то многие упускают из виду, хотя порой эта фича оказывается крайне полезной. Например, при отладке шелл-кода, обфусцированного кода или когда просто нужно быстро выполнить произвольный участок исполняемого файла. IDA поддерживает несколько режимов отладки в связке с Bochs:
- отладка ранней стадии загрузки (Disk Image), что позволяет отлаживать boot record
- отладка произвольного участка кода (IDB), позволяет выполнить на эмуляторе любой выделенный участок кода. Этот режим полезен при отладке шелл-кода и обфусцтрованных участков кода
- отладка исполняемого файла (PE), стандартный режим отладки
Отладка загрузочной записи бывает очень полезна при анализе зловредов, которые ее модифицируют (mebroot, gootkit ...).
Использование связки IDA + Bochs значительно эффективнее, нежели x86emu, т.к. здесь происходит эмуляция не выборочного набора вызовов API, а работы всей ОС целиком.
Alt text

Устали от того, что Интернет знает о вас все?

Присоединяйтесь к нам и станьте невидимыми!

Александр Матросов

REFLECTIONS ABOUT REVERSE ENGINEERING, THREAT RESEARCH AND SOME MORE ...