com.unity3d.ads.UnityAds.load 被谁调用的
时间: 2023-12-06 21:02:19 浏览: 201
要查找`com.unity3d.ads.UnityAds.load`方法被谁调用,可以使用Frida的`Interceptor`来hook该方法,并在方法被调用时打印调用堆栈信息。
以下是一个使用Frida的JavaScript代码片段,用于hook `com.unity3d.ads.UnityAds.load`方法并打印调用堆栈信息:
```js
Java.perform(function() {
var UnityAds = Java.use("com.unity3d.ads.UnityAds");
var load = UnityAds.load.overload("com.unity3d.ads.IUnityAdsInitializationListener");
Interceptor.attach(load.implementation, {
onEnter: function(args) {
console.log("[*] UnityAds.load method called from:\n" + Thread.backtrace(this.context, Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join("\n"));
}
});
});
```
这段代码使用`Java.use`获取到`com.unity3d.ads.UnityAds`类,并使用`UnityAds.load.overload`获取到`com.unity3d.ads.UnityAds.load`方法。然后,它使用`Interceptor.attach`来hook该方法,并在方法被调用时打印调用堆栈信息。
当你运行该代码片段时,它会在目标应用程序中hook `com.unity3d.ads.UnityAds.load`方法,并打印出所有调用该方法的堆栈信息。你可以查看输出,找到你感兴趣的调用者所在的堆栈帧。
阅读全文