#1 楼
一种可能的方法是,如果存在字符串表,并指向这些字符串的指针表,则将bin加载到IDA中为零并找到字符串,然后编写程序以搜索二进制文件,以查找与开头的差异匹配的int32差异我以大/小尾数格式搜索字节/字/整数,一旦找到匹配项,就可以根据搜索地址与生成的地址/指针表。
这是我使用的C#代码
#2 楼
我在这里为Cortex M3 MCU写了一些东西:http://www.reddit.com/r/ReverseEngineering/comments/21kgtc/beginners_project_logitech_g940_firmware/cgeokv3
因为您没有写任何关于
但是您真的需要知道您拥有哪个CPU,闪存在哪里以及向量表的方式等等。
某些MCU在闪存的开头有一个引导加载程序,并且用户代码也开始在其中,其他MCU在闪存和用户的上部包含了引导加载程序代码从前面开始。
评论
搜索标记为固件的问题。您所指控的映像可能包含完整的文件系统。在这种情况下,可以使用firmware-mod-kit。