测试apk对短信记录进行加密的秘钥是?(答案格式:slkdjlfslskdnln)
加密密钥是通过JNI调用so层函数得到的,直接使用frida-hook主动调用jni函数获取返回值
function main() {
Java.perform(function () {
var libJniTest_addr = Module.findBaseAddress("libmyapplication.so")
console.log("libJniTest 地址:", libJniTest_addr);
if (libJniTest_addr) {
var func_sayHello_addr =
Module.findExportByName("libmyapplication.so",
"Java_com_example_myapplication_MainActivity_Getkey");
console.log("Java_com_jwxdxnx06_myJNI_sayHello 地址:",
func_sayHello_addr);
// 主动调用
//创建新函数,参数1:函数地址,参数2:返回值类型,参数3:函数参数类型
var func = new NativeFunction(func_sayHello_addr, 'pointer',
['pointer'])
// 通过Java.vm获得env
var retVal = func(Java.vm.getEnv())
var ret = Java.vm.getEnv().getStringUtfChars(retVal,
null).readCString();
console.log(ret)
}
})
}
setTimeout(main)
上面为Frida主动调用脚本