我出于娱乐目的对“ Crisis”中的一段代码进行了逆向工程,但遇到了以下问题:-

为什么在地址FEEDFACE8FFF0000会出现8FFF1000?我知道feedface / feedfacf是Mach-O魔术数字-但是为什么期望它们出现在那些地址上?

#1 楼

这是Mach-O标头魔术。来自mach-o/loader.h:在OS X中,Mach-O标头通常作为__TEXT段的一部分包含在内,因此被映射到内存中。该代码正在搜索映射到该地址范围内某个地方的Mach-O文件-可能是一些系统库-可能因此它可以搜索所需的调用函数(枚举Mach-O加载命令以定位符号表等)。

#2 楼

危机正试图在该代码段中找到dyld的位置:32位dyld通常位于8FE00000上,如果我没记错的话,它用它来解析符号。还没有。

评论


(链接并非始终有效)

–天使
13年5月7日在10:03