Android下SO动态库还原JNI方法以及JNI—Helper使用体验 2020-11-14 11:39:41 Steven Xeldax 一般而言如果Android so库不做任何处理那么可能出现的就是如下各种指针函数偏移乱飞的情况,这种情况下是根本没办法继续逆向的。  以往的解决办法是利用IDA加载jni.h,修改int类型来做,但是这样的话需要大量的手动操作显得并不是很智能。首先我们来看下常规的操作。  选中a1变量,然后按一下y键,然后输入: JNIEnv*  然后就能看到NDK的函数原型:  但是你换一个函数还是需要重新手动对变量进行重新指定。  我们可以使用这个工具来完成JNI函数的自动转换 https://github.com/evilpan/jni_helper 先对app生成json的数据结果 ``` $ java -jar JadxFindJNI/JadxFindJNI.jar Usage: JadxFindJNI.jar <file.apk> <output.json> ``` 然后加载IDA python脚本,并制定json的位置   最后就可以完成了对所有的自动解释转换 