Создано: 18 мая 2008 15:59 · Поправил: smex New! Цитата · Личное сообщение · #1
Доброго времени суток всем посетителям данного топика.
Собственно вопрос по сабжу - кто нибудь отлаживал эмулятором Bochs софт Ring3/Ring0 под Windows и возможно ли это вообще. Как понимаю нужно копаться во внутренних структурах винды. Может у кого есть нароботки либо идеи по этому поводу.
PS: Блуждание по инету и поиск по форуму результатов практически не принесли. Судя по изучению форума tundra37 в 2006 году пытался отлаживать софт в Bochs, однако в личку до него не достучался.
Создано: 20 мая 2008 17:58 · Поправил: smex New! Цитата · Личное сообщение · #3
Так конечно, с внутренним отладчиком разобрался - все просто супер. Ставь любой бряк - эмулируемоая ОС тут же тормозит средствами самого Bochs - просто сказка. Но вот незадача - для отладки Ring3 нужно копаться во внутренних структурах винды и смотреть в коком процессе мы брякнулись, а если не в том, то поставить "умный" бряк - чтобы брякнулись в том. Впринципе имея исходники может попробую посидеть над ними - покрайней мере приобретенный опыт не помешает, даже если ничего не получиться...
PS: Кстати, если твой код "не засекречен", очень было бы интересно взглянуть на него . Оказывается не мне одному пришла в голову идея "об универсальном отладчике"...
Создано: 20 мая 2008 20:09 New! Цитата · Личное сообщение · #4
smex пишет:
Так конечно, с внутренним отладчиком разобрался - все просто супер. Ставь любой бряк - эмулируемоая ОС тут же тормозит средствами самого Bochs - просто сказка. Но вот незадача - для отладки Ring3 нужно копаться во внутренних структурах винды и смотреть в коком процессе мы брякнулись, а если не в том, то поставить "умный" бряк - чтобы брякнулись в том. Так в это и беда - для bochs это всё эмулируемый код. Аналогия с JTAG отладчиком - удобно отлаживать kernel mode - например обработчик прерывания. А вот user mode с таким подходом - просто труба.
У меня прога эмулирует user mode до sysenter. То есть, по сути, получился аналог olly т.к. это всё работает поверх windows.