转载地址:http://www.52pojie.cn/thread-503009-1-1.html
IDA
分析Android so
文件时,因为缺少JNIEnv
结构定义,反编译后看起来很不友好,如下图(后面注释是我自己手工对照加的 = =
)。为避免以后无穷无尽的手动加注,接下来我们就来导入 JNIEnv
的结构定义让反编译代码看起来更轻松。
![]()
IDA
打开菜单 Options ->Compilter..
![]()
选择Visual C++
我在VS2008
环境下编译通过,VS2015
有问题。
Include directories
填入NDK
中包含jni.h
的路径和VS2008
中VC
的include
路径,两个路径间用”;”
分隔。
Predefined macros
加入 __lint__
宏定义。
jni.h
做如下三处修改(可能会出现不同情况,载入后可根据报错信息做具体修改)
![]()
返回IDA
按Ctrl+F9
载入 jni.h
文件就可以编译通过了。
然后在structures
窗口里按下insert
键-> add standard structure ->
选择"JNIEnv_",
然后确定,之后IDA
反编译出来的就看起来舒爽多了。
![]() |