-
-
[求助]IOS下如何用frida修改返回值?
-
发表于:
2019-4-16 04:35
16711
-
IDA里面的代码是这样的
NSString *__cdecl -[XXXXXX deviceId](UserExtraInfo *self, SEL a2)
{
return self->_deviceId;
}
我的理解是:
-[UserExtraInfo deviceId] 的返回值是一个NSString
但是用如下代码打印出来的返回值类型是__NSCFString
var device_id = ObjC.classes.XXXXXX["- deviceId"];
Interceptor.attach(device_id.implementation, {
onEnter: function(args) {
console.log("---------- deviceId enter ---------------");
},
onLeave: function(retval) {
var ret = new ObjC.Object(retval);
console.log("type : " + ret.$name);
console.log("---------- deviceId levea ---------------");
}
});
我用如下代码hook返回值的时候,app直接闪退了
var device_id = ObjC.classes.XXXXXX["- deviceId"];
Interceptor.attach(device_id.implementation, {
onEnter: function(args) {
console.log("---------- deviceId enter ---------------");
},
onLeave: function(retval) {
newret = ptr('20636CCB-7EB9-4510-B24B-ESW23E34945');
retval.replace(newret);
console.log("---------- deviceId levea ---------------");
}
});
萌新求教该怎么写来修改这个返回值才对???
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-4-16 04:41
被酷伯编辑
,原因: