-
-
[求助]如何hook一个被动态加载的apk中的函数?
-
发表于:
2025-10-15 11:33
929
-
[求助]如何hook一个被动态加载的apk中的函数?
小弟我在逆向一个base.apk时,发现base.apk会动态加载the.apk,有一些核心代码在这个the.apk,但是我试了一些方法无法hook这个the.apk种的方法。
这是我hook the.apk的frida代码:
let originalLoader = Java.classFactory.loader;
Java.enumerateClassLoaders({
onMatch: function(loader) {
try {
// the apk contains class: org.chromium.net.AndroidNetworkLibrary
if (loader.findClass("com.google.ccc.abuse.droidguard.DroidGuard")) {
if (loader.toString().includes("11469011EAF999D9428D22C13B5C70E9515FB51F")) {
console.log("=====[+]:", loader);
Java.classFactory.loader = loader;
// [*] loader: dalvik.system.DelegateLastClassLoader[DexPathList[[zip file "/data/user_de/0/com.google.android.gms/app_chimera/m/00000009/CronetDynamite.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/00000009/CronetDynamite.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]]
let nd = loader.loadClass("com.google.ccc.abuse.droidguard.DroidGuard");
nd["initNative"].implementation = function(context, str, bArr, obj, bundle, i, i2) {
console.log(`nd.initNative is called`);
let result = this["initNative"](context, str, bArr, obj, bundle, i, i2);
console.log("=====result:", result);
return result;
};
}
}
} catch (error) {
Java.classFactory.loader = originalLoader;
}
},
onComplete: function() {
Java.classFactory.loader = originalLoader;
}
});求各位大佬指点迷津。
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!