如何Hook JNI层 CallObjectMethodV的va_list的可变参数列表的参数值?
大佬们好,如何Hook JNI CallObjectMethodV的va_list的可变参数列表的参数值?jobject (*CallObjectMethodV)(JNIEnv*, jobject, jmethodID, va_list);
java层的代码
so层的代码
so层主动去调用java层的toUpper方法的过程
so层会调用CallObjectMethodV方法去调用java层的方法
我想在so层打印出va_list里面包含传递的参数内容,在frida中,用hexdump出来没对应的字符串尝试过一下各种字符串打印方法,都打印不出对应的字符串
// 方式1
var jString_1 = Java.vm.getEnv().getStringUtfChars(args, null).readCString();
console.log("str:", jString_1);
// 方式2
var jString_2=Java.cast(param3,Java.use('java.lang.String'));
console.log("str:", jString_2.toString());
// 方式3
console.log(Memory.readCString(param3));
// 方式4
console.log(Memory.readUtf8String(param3)); 拿到jstring指针之后创个NativeFunction然后call下GetStringUTFChars试试? 用归纳法,多试几个值 wasm2023 发表于 2024-10-6 10:28
此为AI解答,仅供参考
Hook JNI层的 CallObjectMethodV 函数的 va_list 参数列表的参数值是一个高级技术, ...
对的,思路是没问题的,目前就是 不知道如何 打印CallObjectMethodV 函数里面 va_list 里面可变参数 狄人3 发表于 2024-10-5 17:30
拿到jstring指针之后创个NativeFunction然后call下GetStringUTFChars试试?
我重启手机后,JNITrace,能够打印出字符串啦,谢谢大佬回复 BY:ZHK 发表于 2024-10-7 11:41
我重启手机后,JNITrace,能够打印出字符串啦,谢谢大佬回复
请问呢jnitrace总是卡掉是什么原因呢 wasm2023 发表于 2024-10-7 12:03
请问呢jnitrace总是卡掉是什么原因呢
排除APP对抗的问题,就有可能是frida版本的问题,我pixel3用15.2.2很稳定 BY:ZHK 发表于 2024-10-7 14:23
排除APP对抗的问题,就有可能是frida版本的问题,我pixel3用15.2.2很稳定
有没有可能是函数太多导致的呢,这个jnitrace需要自己配置不 wasm2023 发表于 2024-10-7 17:24
有没有可能是函数太多导致的呢,这个jnitrace需要自己配置不
应该不会吧,不用的
页:
[1]
2