我有一个嵌入式CPU的二进制映像,其中一个内存区域包含许多指向二进制文件入口点的指针。这是CPU使用的二进制中的中断向量表。我如何向IDA提示这个记忆是什么,所以它可以使用入口点进行分析?
答案 0 :(得分:3)
我假设你已经为加载的二进制图像使用正确的处理器设置了IDB。
如果图像文件是原始文件(即没有标题),您可以在选项 - >常规中的反汇编选项卡下定义低/高地址可疑限制。
使用此设置,您可以将此向量中的第一个元素设置为偏移,方法是将文本光标放在第一个字节上,然后按“O”或“Ctrl + O”。您还可以对“用户定义的”偏移执行“Ctrl + R”(显示带有多个选项的对话框)。所有各种偏移都可以在编辑 - >操作数类型 - >偏移 - > ...
下查看使用第一个元素集,并在其上放置文本光标,然后可以点击小键盘上的'*'键创建一个实际数组(假设您知道向量中有多少元素)。这应该将相同的操作数类型信息应用于数组中的所有元素。由于在这种情况下操作数是一个偏移量,因此IDA应该(自动)尝试和反汇编引用的字节。
注意:如果元素值超出可疑限度,则不会将其转换为偏移量
如果这是原始图像,如果您知道二进制文件包含纯代码或纯数据的部分,您可能希望设置一些分段信息(Shift + F7)。如果上面提到的'自动反汇编'仅在段的类被定义为'CODE'或者它甚至是重要的时候完成的话,我不确定。
注意:您可以通过按工具栏中的彩色圆圈图标(它应该是绿色,否则IDA正在忙着做某事)或通过点击General->选项中分析选项卡中的“重新分析程序”来重新运行分析。