IDA导入Jni.h

IDA 分析Android so 文件时,因为缺少JNIEnv结构定义,反编译后看起来很不友好,如下图(后面注释是我自己手工对照加的 = =)。为避免以后无穷无尽的手动加注,接下来我们就来导入 JNIEnv 的结构定义让反编译代码看起来更轻松。

IDA导入Jni.h_第1张图片

IDA 打开菜单 Options ->Compilter..

IDA导入Jni.h_第2张图片

选择Visual C++ 我在VS2008 环境下编译通过,VS2015有问题。

Include directories 填入NDK中包含jni.h 的路径和VS2008中VC的include路径,两个路径间用”;”分隔。

Predefined macros 加入 __lint__ 宏定义。

jni.h 做如下三处修改(可能会出现不同情况,载入后可根据报错信息做具体修改)

 IDA导入Jni.h_第3张图片

返回IDA 按Ctrl+F9 载入 jni.h 文件就可以编译通过了。

然后在structures窗口里按下insert键-> add standard structure -> 选择"JNIEnv_",然后确定,之后IDA 反编译出来的就看起来舒爽多了。


IDA导入Jni.h_第4张图片

 

你可能感兴趣的:(逆向,Android,原创)