经常用IDA来窥视一些应用的实现逻辑,多数都是 Windows 下的应用,常用 Windows 版IDA,动态调试 Windows 应用非常方便 ,最近想分析一下 Xilinx 工具 Petalinux CLI 的内部实现逻辑,分析过程中也免不了要动态调试,本篇文章就简单总结一下调试过程。
首先,需要把 IDA 工具目录下的 dbgsrv 目录 Copy 到 Linux 机器或者虚拟机中,运行对应的版本,比如 dbgsrv/linux_server64,当然要调试的目标应用环境先设置好,比如 petalinux 的执行环境。
再次,IDA打开目标应用,生成数据库,工具栏中 Debugger 选择 Remote Linux debugger,或者菜单 Debugger -> Switch debugger ... 弹出对话框中选择 Remote Linux debugger。
菜单 Debugger -> Process options ... ,弹出对话框中设置要调试的应用以及远程调试服务器的地址等。
配置后以后,选择菜单 Debugger -> Start process,或者工具栏上的绿色三角启动调试。
可以设置断点
可以在汇编模式下单步执行,也可以在反编译的伪代码模式单步执行。
服务端也可以看到有客户侧连接,以及应用的控制台输出。
启动调试过程就是这么简单,具体如何动态分析程序的运行逻辑,就不赘述了,有兴趣的朋友后台留言我们一起交流。
感兴趣的欢迎微 【老吴胡编】,持续更新中