IDA可以辅助我们分析grub的代码,但是bootloader本身只是bin文件,为了让IDA能正确识别分析,我们还需要提供一些基本的参数,比如文件加载到内存的地址等。
图中MBR是加载到0x7C00内存地址的,代码是16位的。
后面的stage1.5阶段的代码是16位、32位混合的,在设置时需要分段设置,否则不能正确识别出代码。
如果不能确认数据的内存地址,可以参考上一篇介绍的方法调试一下。