IDA Pro Appcall功能浅析
By:obaby
其实IDA的这个功能应该出现的比较早了,最早应该是在IDA Pro5.6中出现的,但是在国内一直没有看到这方面的相关文章。也不知道国内有没有人留意这些者脚本直接调用内置的函数没有明显的区别。如果你使用过GDB调试器(Call命令)、VS(Immediate窗口)或者Borland C++ Builder等你应该对于这个功能比较熟悉了。
其实IDA的这个功能应该出现的比较早了,最早应该是在IDA Pro5.6中出现的,但是在国内一直没有看到这方面的相关文章。也不知道国内有没有人留意这些者脚本直接调用内置的函数没有明显的区别。如果你使用过GDB调试器(Call命令)、VS(Immediate窗口)或者Borland C++ Builder等你应该对于这个功能比较熟悉了。
By :obaby
在IDA Pro6.1中我们扩展了Bochs调试器插件,现在已经可以进行64位代码段的调试。在IDA Pro 6.2版本中将有可能实现PE+ 可执行程序的动态调试。由于程序将会在Bochs系统中执行,因而在调试的过程中我们并不需要实际的64位操作系统,因而在实际的调试过程中可以从任何的32位或者64位的Linux,Mac OS 或者Windows操作系统中使用IDA Pro进行64位可执行文件的调试。
为了确认这一项新的功能,我们将进行PE+格式的一个木马程序进行脱壳并且进行一个大体的分析,这个文件是由MATCODE Software公司的mpress进行压缩的。我们将会对讲解DLL文件脱壳,修复输入表并且最终修复数据库来进行分析。
Unpacking the DLL
我们的目标文件是一个木马的DLL文件,该文件被杀软识别为“Win32/Giku”。我们从使用idaq64载入DLL文件开始进行分析,载入之后按Ctrl+S键打开区段窗口:
Download Links:
http://www.filesonic.com/file/1212201184/Hex-Rays.IDA.Professional.v6.1-UNiQUE.rar
http://fileserve.com/file/BCsvbJp/Hex-Rays.IDA.Professional.v6.1-UNiQUE.rar
http://depositfiles.com/files/wjlvq6uqt/Hex-Rays.IDA.Professional.v6.1-UNiQUE.rar
http://u.115.com/file/aq777ibd#
VMWare的GDB调试器功能比较简单也比较基础,该调试器并不知道处理器和线程的任何信息(对于Windows系统),因而如果想要得到一些高等级的信息,我们需要自己做一些额外的工作。本文主要讲解了如何使用IDAPython脚本来让IDA处理已经加载的模块列表和加载符号库。
设置VM来进行调试
在进行这一步之前首先要保证你已经有了一个已经安装好的Windows(32位)的操作系统。在开始调试之前,首先要拷贝你想要看到符号的模块到系统目录下,如果你不确定要复制那些文件,可以将如下的文件复制到虚拟机目录下:位于System32目录下的nt*.exe和hal.dll文件、整个System32\drivers目录。在这里我将文件复制到了E:\虚拟机系统\Windows 7\Shar4ed dll\目录下。
编辑虚拟机的.vmx文件来激活GDB调试器功能:
图01
Click Here to Download these plugins!
It took me two weeks to write two IDA plugins, a renew, fast IDB2Sig plugin and a new, very fast LoadMap plugin.
The IDB2SIG plugin I rewrote base on the orginal source code and idea of:
– Quine (quine@blacksun.res.cmu.edu)
– Darko
– IDB2PAT of J.C. Roberts <mercury@abac.com>
Thanks all of you very much. I think all of you will allow me to public the new source code.
The LoadMap plugin I wrote base on the idea of Toshiyuki Tega. It will supports loading and parsing VC++, Borland (Delphi/BC++/CBuilder) and DeDe map files.
And with two plugins, I need only two days to create two signature file for Delphi 6/7. Very fast and convenience. Hereafter, we can use two above plugins to create signature files, load map symbols…Source is included, and plugins are precompiled for IDA 4.5 and 5.2.
今天在测试的时候发现IDA 5.5可以启动windbg调试器,而IDA 6.0却无法启动windbg调试器。大体看了一下可能是由于搜索路径造成的,重新将windbg安装到program files下之后问题就结局了。
网上也有关于用IDA调试驱动的文章,这里只是再整理一下,用IDA载入驱动分析完成之后选择调试器为Windbg debugger,如图1所示:
图1
然后执行菜单中的Debugger->Debugger options打开如图2所示的设置窗口。
图2