IDA打开so,在Export里面搜索.datadiv
跟进可以找到混淆的字符串
![](https://file.jishuzhan.net/article/1721487706141233153/6280671dba9d0945a2719a51287f4e3a.webp)
异或加密的字符串可以直接手动异或恢复
Export里面搜索JNI_OnLoad
![](https://file.jishuzhan.net/article/1721487706141233153/9d794118ad29f1737f2567846322db4d.webp)
如果没有将变量类型改为JavaVM *vm, void *reserved
![](https://file.jishuzhan.net/article/1721487706141233153/44068771b6f521b1eb1e405bf0ab4489.webp)
在这里Load jni.h
一些OLLVM加密的字符串可以直接用Frida来hook
javascript
function hook_native(){
var base_hello_jni=Module.findBaseAddress("libhello-jni.so");
if(base_hello_jni){
var addr_xxxx=base_hello_jni.add(0xxxxx);
console.log("addr_xxxx",ptr(addr_xxxx).readCString());
}
}
function main(){
hook_native();
}
setImmediate(main);