[原创]ARM Linux下搭建IDA Pro远程调试环境
发表于:
2018-1-28 00:55
26827
[原创]ARM Linux下搭建IDA Pro远程调试环境
原文发在我的blog:ARM Linux下搭建IDA Pro远程调试环境
最近逆向一个ARM架构下的linux可执行文件,因为静态分析获取到的信息有限,所以打算搭建个ARM Linux下的IDA Pro远程调试服务端。
折腾了一段时间,最终总算是搭建成功了!
简述下环境参数:
CPU: Cortex A53 * 4
内存: 2GiB
系统环境:Ubuntu 16.04 for ARM64
内核版本:GNU/Linux 4.4.103 aarch64
IDA Pro针对特定软件环境的远程调试服务端程序,可以在IDA Pro安装目录下的dbgsrv目录下找到,因为我需要调试的环境是基于ARM架构的Linux,所以这里采用armlinux_server这个程序。
先把远程调试服务端(armlinux_server)复制到目标板的文件系统中(不是armuclinux_server哦,uclinux是实时操作系统)。
然后为其加上可执行权限并运行:
然而终端提示:
出现这个错误的原因是因为可执行程序所依赖的库系统未找到。
我们可以执行以下命令查看可执行程序所依赖那些共享库:
终端输出如下:
可见依赖的共享库,都是gcc自己的库,可能是因为我的系统是ARM64的,程序是32位的,并且系统没有32位GCC的运行库,才导致程序运行失败。
好在是ubuntu,直接apt搜索下相关的软件包:
匹配的结果很多,这里就不展示了,我选了个4.9 的GCC,用apt安装:
安装完成不代表系统就知道有这个库了,还需要做一些配置,这时可以看看/usr目录下有没有相关目录:
终端输出:
切换到arm-linux-gnueabihf目录下再看看:
lib目录就是我们真正关心的东西,记录lib目录的绝对路径,然后去编辑系统共享库配置文件:
以上命令只是在/etc/ld.so.conf.d目录下新建了一个arm-linux-gnueabihf.conf文件,内容为/usr/arm-linux-gnueabihf/lib。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
上传的附件: