-(void)hookMe:(NSString *)arg { NSLog(@"%@", arg); }
Hook *hook = [[Hook alloc]init]; [hook hookMe:@"Hello, World!"];
for(var className in ObjC.classes) { if (ObjC.classes.hasOwnProperty(className)) { if(className == "Hook") { send("Found our target class : " + className); } } }
ObjC.classes.Hook.$methods;
if(ObjC.available) { for(var className in ObjC.classes) { if (ObjC.classes.hasOwnProperty(className)) { if(className == "Hook") { send("Found our target class : " + className); } } } var hook = ObjC.classes.Hook["- hookMe:"]; Interceptor.attach(hook.implementation, { onEnter: function(args) { var receiver = new ObjC.Object(args[0]); send("Target class : " + receiver); send("Target superclass : " + receiver.$superClass); var sel = ObjC.selectorAsString(args[1]); send("Hooked the target method : " + sel); var obj = ObjC.Object(args[2]); send("Argument : " + obj.toString()); } }); } else { console.log("Objective-C Runtime is not available!"); }
id objc_msgSend(id self, SEL op, args);
var receiver = new ObjC.Object(args[0]); send("Target class : " + receiver); send("Target superclass : " + receiver.$superClass); var sel = ObjC.selectorAsString(args[1]); send("Hooked the target method : " + sel); var obj = ObjC.Object(args[2]); send("Argument : " + obj.toString());
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!