metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-03-01 01:38 pm

Отладка прог в windbg

Не могу избавиться странного ощущения, возникающего, когда приходится отлаживать виндовские проги или анализировать их дампы в windbg. Ощущение, как будто вернулся на 10-15 лет назад, в благословенные времена доса, ручного хождения по памяти и записи в порты, вплоть до залезания с осциллографом/логическим анализатором внутрь компа.

Всякие там дотнеты, фреймворки, языки высокого уровня совершенно не дают такого эндорфиново-наркоманского ощущения, как выполнение команд в windbg под отладчиком и раскручивания стека вызовов, приводящего к багу, одновременно в мозгу, в исходном коде, в IDA и в выполняемой программе.

[identity profile] 1ceheart.livejournal.com 2009-03-01 01:41 pm (UTC)(link)
Но windbg все-таки страшный кал по сравнению с софтайсом. Жалко, что софтайс умер :(

[identity profile] metaclass.livejournal.com 2009-03-01 01:45 pm (UTC)(link)
Да, софтайс был удобнее таки.

[identity profile] ligen-on-lj.livejournal.com 2009-03-01 02:42 pm (UTC)(link)
согласен, ощущения весьма занимательные :)
еще лучше при разборе full dump, это вообще наркоманство еще то

Отладка прог в windbg

[identity profile] ratibor-vv.livejournal.com 2009-03-01 04:32 pm (UTC)(link)
У меня от WinDbg ощущение такое, что Майкрософт решил усесться на два стула сразу: вроде как программа виндузная, с меню, окошками и панелью инструментов, а с другой - все сколько-нибудь продвинутые операции делаются только языком команд. Еж тем, есть и вполне нормальные чисто консольные отладчики, и чисто гуишные...

Re: Отладка прог в windbg

[identity profile] metaclass.livejournal.com 2009-03-01 04:56 pm (UTC)(link)
Да, реализация оконного интерфейса в windbg добавляет сюрреалистических ощущений в процесс отладки :)

[identity profile] vp.livejournal.com 2009-03-01 06:52 pm (UTC)(link)
Ух, вспоминаю, как писал прогу, которая из двух досовских дампов памяти восстанавливала таблицу релокации и таким образом выдирала и сохраняла EXE файл, отработавший после всех защит :)
А потом вроде готовую прогу кто-то сделал по мотивам..

Вот, 15 лет назад:

 DUMP2EXE [Dump1] [Dump2] [Out] [PSP1] [PSP2] [CS] [IP] [SS] [SP] [/AUTO]
 Dump1,Dump2 - файлы с дампами памяти (делаются с PSP:0100 нужной длины)
 Out --------- создаваемый EXE-файл
 PSP1,PSP2 --- параграфы PSP для 1-го и 2-го дампов
 CS,IP,SS,SP - Шестнадцатиричные значения регистров (для 1-го дампа)
 /AUTO ------- Автоматическое определение длины создаваемого EXE-файла
               Необязательный параметр, по умолчанию берется длина Dump1


Пример:  DUMP2EXE  aaa.bin bbb.bin 2A37 2E45 2A47 0000 3FC0 4000 /auto 

[identity profile] metaclass.livejournal.com 2009-03-01 06:54 pm (UTC)(link)
Мрак. Как-то читал про снятие упаковщиков с прог, так там такими же методами обычно делается, только еще сначала надо антиотладочный код повыдирать, чтобы прогу остановить можно было :)

[identity profile] vp.livejournal.com 2009-03-01 08:00 pm (UTC)(link)
это делалось уже на каком-то нормальном этапе, типа "хождение по меню"