mirror of
https://github.com/QM4RS/FridaBox.git
synced 2026-09-16 18:31:51 +02:00
Integrate Frida Gadget into BlackBox guest startup, add the host workflow and controller tooling, and validate the complete sample hook flow on ARM64 Android 16.
34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
import Java from 'frida-java-bridge';
|
|
|
|
Java.perform(() => {
|
|
const registryName = 'top.niunaijun.blackbox.instrumentation.GuestRuntimeRegistry';
|
|
let Registry = null;
|
|
try {
|
|
Registry = Java.use(registryName);
|
|
} catch (_) {
|
|
Java.enumerateClassLoaders({
|
|
onMatch(loader) {
|
|
if (Registry !== null) return;
|
|
try {
|
|
loader.loadClass(registryName);
|
|
Registry = Java.ClassFactory.get(loader).use(registryName);
|
|
} catch (_) {}
|
|
},
|
|
onComplete() {}
|
|
});
|
|
}
|
|
if (Registry === null) throw new Error('GuestRuntimeRegistry ClassLoader was not found');
|
|
const loader = Registry.getGuestClassLoader();
|
|
if (loader === null) throw new Error('GuestRuntimeRegistry has no guest ClassLoader');
|
|
Java.classFactory.loader = loader;
|
|
const Target = Java.use('com.qm4rs.fridabox.sample.Target');
|
|
const add = Target.add.overload('int', 'int');
|
|
add.implementation = function (a, b) {
|
|
console.log('[sample-hook] Target.add(' + a + ', ' + b + ') => 1337');
|
|
return 1337;
|
|
};
|
|
console.log('[sample-hook] installed for ' + Registry.getGuestPackageName());
|
|
});
|