想做内存自校验,因为iOS架上app不支持动态链接库,所以就是想计算内存中可执行文件的SHA1~所以想取得可执行文件的基址和长度~或者要求再低点取得函数指针和函数在内存中的长度也行,做函数自校验也够用了~RT,求指导~
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
[Update]
最近正好回头研究,发现还有更好的方法来做的。验证模块基址还是有其他简单方法的:
static void baseaddr(const char *cls, const char *sel){ Dl_info info; IMP imp= class_getClassMethod(objc_getClass(cls), sel_registerName(sel)); if (dladdr(imp, &info)){ printf("fbase: %s\n", info.dli_fbase); } }
使用方法如下:
baseaddr("NSURLConnection","initWithRequest:delegat:");
- 1 回答
- 0 关注
- 286 浏览
添加回答
举报
0/150
提交
取消