Not a kernel guy

… in the Windows kernel team

Thursday, July 31, 2008

diStorm64 disassembler.

Наткнулся на хороший open source disassembler, понимающий и 80×86 и amd64, и распространяемый под BSD лицензией: diStorm64.

diStorm is a binary stream disassembler. It’s capable of disassembling 80×86 instructions in 64 bits (AMD64, X86-64) and both in 16 and 32 bits. In addition, it disassembles FPU, MMX, SSE, SSE2, SSE3, SSSE3, SSE4, 3DNow! (w/ extensions), new x86-64 instruction sets, VMX, and AMD’s SVM! diStorm was written to decode quickly every instruction as accurately as possible. Robust decoding, while taking special care for valid or unused prefixes, is what makes this disassembler powerful, especially for research. Another benefit that might come in handy is that the module was written as multi-threaded, which means you could disassemble several streams or more simultaneously.

В использовании прост как двери: на входе даётся кусок кода, разрядность и его виртуальный адрес, на выходе получается набор инструкций. Для каждой указывается мнемоника, операнды, префиксы и размер. В комплекте идет интерфейсный модуль для Python, что может быть полезно для всяких reverse engineering утилит.

Posted at 9:51 pm •

Wednesday, January 9, 2008

Разрядность ключа «Image File Execution Options».

Ключ «Image File Execution Options» знаком, наверное, всем кто вынужден тратить много времени на отладку приложений. В частности, с его помощью можно указать системе всегда запускать определённый процесс под отладчиком. В этом же ключе утилита gflags.exe сохраняет выбранные отладочные опции и т.д. За подробностями рекомендую обратиться в Google, там есть много полезного.

(more…)

Posted at 11:34 pm •

Tuesday, December 19, 2006

Пара интересных багов.

На днях попытался собрать 64-битную версию Notepad2, благо исходники доступны. Надо сказать, что зачастую сборка изначально 32-битного приложения под x64 не доставляет никаких проблем, за исключанием множества предупреждений компилятора. Однако не в этот раз. Среди всех ошибок две показались наиболее интересными.

(more…)

Posted at 4:29 pm •

Powered by WordPress