Mac OS gdb 配置模版

目前对于各种unix和linux系统下的调试还没有非常直观的调试工具,虽然使用ida是可以进行调试的,但是这种调试却存在很多的问题。尤其是mac系统下的调试更是十分的但疼。

所以最常规的方法还是使用gdb进行调试,当然对于gdb在调试之前最好能够进行一些配置,如果通过良好的配置可以达到事半功倍的效果。但是还有一点需要注意的是mac系统下的gdb和linux系统下的gdb并不是完全一样的,在mac系统下如果使用gdb -app的方式启动的话这个配置文件并不会达到想要的效果,所以最好的方式是首先启动gdb然后采用exe app的方式来加载和启动调试。

猛击此处下载配置文件!

ps: 还有另外的一个配置文件是针对ios设备的,如果需要的话猛击此处下载! (使用方法,下载后复制到用户目录下,修改文件名为.gdbinit然后重新启动gdb即可)

 

 

IDA + GDBServer实现iPhone程序远程调试

IDA + GDBServer实现iPhone程序远程调试

By:obaby

在早期的IDA中包含了一个iphoneserver的程序,这个程序就是配合IDA实现远程调试的。但是在最新版的IDA中这个东西已经不复存在了,因而下载的破解版的IDA中没有那个文件并不是被删除掉了,而是本来就没有,*^_^*。所以一直以来调试iPhone上的二进制程序只能悲催的使用ssh+gdb进行调试,虽然调试器的功能还算可以,但是每次调试都需要设置显示,只能使用命令进行控制,因而用起来还是不是十分爽。

其实网上关于IDA实现ios设备远程调试的文章从网上也是可以找到的,但是说的都不是十分具体。本文主要是介绍下IDA实现远程iPhone程序调试的方法,当然这样调试还存在一些问题,如果大家有什么好的解决方案还请不吝赐教。

需要注意的是要想调试ios设备上的程序并不是简单的吧gdbserver拷贝到ios设备上行就可以了,此时如果使用gdbserver启动进程将得到类似如图1所示的提示信息:

图1

Continue Reading

IDA + Debug 插件 实现64Bit Exe脱壳

IDA + Debug 插件 实现64Bit Exe脱壳

By :obaby

对于64位的可执行程序已经搞了好长一段时间了,但是却一直没有写点什么东西。前面的两篇文章仅仅是单纯的翻译,个人认为不管是32位还是64位的程序脱壳只要能到达程序的OEP就可以了。现在支持64位加壳的程序貌似也不多,这里以mpress压缩的64位系统下的64位notepad为例进行简单的演示。在《IDA + Bochs 调试器插件进行PE+ 格式DLL脱壳 》一问中提到了可以使用bochs调试器进行DLL文件脱壳。但是却没有办法进行64位EXE文件调试,启动调试之后由于代码完全识别错误,因为会出现异常导致无法调试。要想调试64位可执行程序目前只有通过远程调试的方式,使用Windbg插件同样是无法进行调试的。但是用windbg调试时将会提示如图1所示的信息:

 

图1

Continue Reading

IDA Pro Appcall功能浅析

IDA Pro Appcall功能浅析

By:obaby

其实IDA的这个功能应该出现的比较早了,最早应该是在IDA Pro5.6中出现的,但是在国内一直没有看到这方面的相关文章。也不知道国内有没有人留意这些者脚本直接调用内置的函数没有明显的区别。如果你使用过GDB调试器(Call命令)、VS(Immediate窗口)或者Borland C++ Builder等你应该对于这个功能比较熟悉了。

Continue Reading

实战IDA PE+ DLL脱壳

IDA + Bochs 调试器插件进行PE+ 格式DLL脱壳

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键打开区段窗口:

Continue Reading

使用VMWare GDB和IDA调试Windows内核

VMWare的GDB调试器功能比较简单也比较基础,该调试器并不知道处理器和线程的任何信息(对于Windows系统),因而如果想要得到一些高等级的信息,我们需要自己做一些额外的工作。本文主要讲解了如何使用IDAPython脚本来让IDA处理已经加载的模块列表和加载符号库。

设置VM来进行调试

在进行这一步之前首先要保证你已经有了一个已经安装好的Windows(32位)的操作系统。在开始调试之前,首先要拷贝你想要看到符号的模块到系统目录下,如果你不确定要复制那些文件,可以将如下的文件复制到虚拟机目录下:位于System32目录下的nt*.exe和hal.dll文件、整个System32\drivers目录。在这里我将文件复制到了E:\虚拟机系统\Windows 7\Shar4ed dll\目录下。

编辑虚拟机的.vmx文件来激活GDB调试器功能:

图01

Continue Reading

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