在对一个App(xiecheng)进行某些方法的hook后,总是发生App崩溃;
堆栈信息如下:
test1.log (126.5 KB)
test.log (123.9 KB)
主要是对定位方法hook时,就会出现该问题;
if (ObjC.classes.hasOwnProperty("CLLocationManager")) {
var hook = ObjC.classes.CLLocationManager["+ authorizationStatus"];
Interceptor.attach(hook.implementation, {
onLeave: function(retval) {
var backtrace = '\n\t+[CLLocationManager authorizationStatus]\n\t' + Thread.backtrace(this.context, Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join('\n\t');
console.log(backtrace);
}
});
} else {
console.log("[*] Not Found: CLLocationManager [\"+ authorizationStatus\"]");
}
通过将手机的firda-agent.dylib拷贝出来后,从test1.log中的堆栈,看到是FridaAgent自己退出的?而另一个堆栈就不是。
其他的一些崩溃情况堆栈;
test10.log (125.1 KB)
test8.log (122.9 KB)