安装qemu
- sudo apt-get install qemu
安装arm文件所需要的动态库
- sudo apt-get install gcc-multilib-arm-linux-gnueabi
- sudo apt-get install gcc-armhf-cross
- 此时在/usr/arm-linux-gnueabihf/lib/文件夹中会有安装的这些库,有的arm文件在动态链接的时候是直接指向的/lib/ld-linux-armhf.so.3文件的,所以此时需要将/usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3软连接到/lib/文件夹下: ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib/ld-linux-armhf.so.3
运行
- 在运行前添加/usr/arm-linux-gnueabihf/lib文件夹到LD_LIBRARY_PATH环境变量里面: export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/:$LD_LIBRARY_PATH
- qemu-arm运行arm程序: qemu-arm -g 1234 /path/of/arm-executable, 即在1234端口上开启调试模式
调试
- 此时就可以在自己机器上进行调试改程序,既可以使用IDA pro进行远端调试,也可以使用gdb进行调试,此处介绍gdb调试
- 在调试前请确保自己安装了gdb-multiarch,如果没有安装,则 sudo apt install gdb-multiarch
- 用gdb打开待调试文件:
gdb-multiarch /path/of/arm-executable
- 在gdb中连接调试端口:
target remote 1234
,调试即可
Enjoy it!!!