蛋疼的 REG_MULTI_SZ

话说这个东西是够蛋疼的,当时在发《Delphi Read/Write REG_MULTI_SZ》一篇的时候就注意到读到的信息虽然是正确的,但是在写入的时候却发生了错误。如果再读的话那就更不对了。 从网上查了一下那个蛋疼的REG_MULTI_SZ到底是个什么东西,但是大部分人的结论就是这么一句:

REG_MULTI_SZ    一个以空字符结束的字符串数组,被两个null字符结束。

看了半天也没发现到底信息后面写的是什么东西,看来是我太笨了! sad 今天又遇到这个问题索性把注册表中的一个REG_MULTI_SZ   键值倒了出来,原来竟然是这么一串东东:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System]
"Component Information"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"Identifier"="AT/AT COMPATIBLE"
"Configuration Data"=hex(9):ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,02,00,00,00,05,\
00,00,00,0c,00,00,00,00,00,00,00,00,00,00,00,80,00,ff,03,00,00,3f,00,fe,00,\
01,00,05,00,00,00,18,00,00,00,00,00,00,00,00,00,00,00,00,00,0c,00,00,de,00,\
00,00,00,0e,00,00,00,01,00,00,00,0f,00,00,00,01,00
"SystemBiosDate"="12/17/10"
"SystemBiosVersion"=hex(7):31,00,32,00,31,00,37,00,31,00,30,00,20,00,2d,00,20,\
00,32,00,30,00,31,00,30,00,31,00,32,00,31,00,37,00,00,00,00,00

结束的地方是00,00,00,00,00~ laugh ,知道了是怎么结束的也就知道该怎么写回去了。擦,太蛋疼了~

IDA 6.1调试驱动

今天在测试的时候发现IDA 5.5可以启动windbg调试器,而IDA 6.0却无法启动windbg调试器。大体看了一下可能是由于搜索路径造成的,重新将windbg安装到program files下之后问题就结局了。

网上也有关于用IDA调试驱动的文章,这里只是再整理一下,用IDA载入驱动分析完成之后选择调试器为Windbg debugger,如图1所示:

图1

然后执行菜单中的Debugger->Debugger options打开如图2所示的设置窗口。

图2

Continue Reading

IDA调试Windows 内核

以前总想知道IDA是否能够实现内核调试,后来找了一段时间没什么结果就暂时放弃了。今天在国外的一个博客上偶然看到了用IDA实现内核调试的方法。

其实现在国内也有很多文章介绍了IDA通过串口进行调试的文章,如果大家想看的话可以搜索下。

这里只是参考远远吧实现的方法大体的用中文表述了一下。在调试之前需要安装如下的软件:

  1. IDA PRO这个我想大家都应该有了;
  2. Windbg如果调试过驱动或者系统内核的话这个东西也应该有了;
  3. VirtualKd 这个东西我想大家如果没有做过使用IDA调试内核的话这个东西应该是还没有。
Continue Reading

FullDisasm : plugin OllyDbg & Immunity Debugger

This is a plugin for OllyDbg 1.10 and Immunity Debugger 1.xx to replace the old disasm engine by a more recent one : BeaEngine 4.0.

You just have to press Ctrl+W to change the disasm engine.

If you want to use BeaEngine only on selected lines, then just press Ctrl+X.

With this plugin, you can decode recent instructions for the following technologies : MMX, FPU, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 , VMX, CLMUL and AES.

You can even decode undocumented instructions usually used in malicious codes.

If you want to use a specific syntax, BeaEngine allows you to disassemble code in masm32 syntax, nasm syntax, GoAsm syntax or GNU Assembler syntax.

Current version : 3.0