本帖最后由 叶子青 于 2019-6-25 18:33 编辑
新人第 不知道几次发帖 直接两开花吧
因为某些需要
我手上多了一个从嵌入式设备Flish中读取出来的二进制文件
我们事先通过firmwork 之类的工具确定了对方是Linux的操作系统并且确定了 拿到手的BIN文件时他的Boot 程序 ELF文件格式
然后这个时候完全看静态分析的代码太累了 (虽然说可以直接找到Linux的源代码来阅读,但是难免以后还会遇到类似的问题且找不到源码的时候)
所以就决定学习下怎么通过调试器来直接调试这类BIN文件
之前在网上找了很久的资料,最终实现了调试 ,以下我把主要的步骤和大家分享下(步骤其实非常简单大佬勿喷)
0x01.首先的话想在PC段模拟ARM指令集的BIN文件运行肯定要用到虚拟机来模拟一个虚拟CPU 这类的虚拟机推荐使用QEMU来实现
QEMU的话是一款非常强大的纯软件实现的虚拟化模拟设备,几乎可以模拟我们接触过的大部分CPU架构。包括 IA-32 (x86),AMD 64,MIPSR4000,SPARCsun3PowerPC
(PReP 及 Power Macintosh)架构还有就是我们要用到的ARM架构.
现在新版本的QEMU支持在Windows/Linux上运行, 通常Linux上的用的较多,Windows下的版本叫做 QEMU for windows ,我接下来的实验主要都是在ubuntu虚拟机环境下完成的
QEMU for Windows感兴趣的同学可以下载下来研究下
0x02.我们需要先在安装一个QEMU 直接通过指令
sudo apt-get install qemu
实现安装,当然QEMU正常运行还需要安装以下三个软件支持包
sudo