想做內(nèi)存自校驗(yàn),因?yàn)閕OS架上app不支持動(dòng)態(tài)鏈接庫,所以就是想計(jì)算內(nèi)存中可執(zhí)行文件的SHA1~所以想取得可執(zhí)行文件的基址和長度~或者要求再低點(diǎn)取得函數(shù)指針和函數(shù)在內(nèi)存中的長度也行,做函數(shù)自校驗(yàn)也夠用了~RT,求指導(dǎo)~
1 回答

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
[Update]
最近正好回頭研究,發(fā)現(xiàn)還有更好的方法來做的。驗(yàn)證模塊基址還是有其他簡單方法的:
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 關(guān)注
- 492 瀏覽
添加回答
舉報(bào)
0/150
提交
取消