IDA Pro 导入jni.h头文件定义

时间:2024-03-24 13:09:30

步骤一:点击IDA Pro 菜单项“File->Load file->Parse c header file ” 选择jni.h头文件
步骤二:简单修改jni.h ,注释第27行的#include<stdarg.h> ,还有将1122行的#define JNIEXPORT_attribute_((visibility("default"))) 改成 #define JNIEXPORT 修改完后可以成功导入
步骤三:导入成功后把jni.h修改的地方  改回来 防止编译NDK出错。
步骤四:点击IDA Pro 主界面上的“Structures”选项卡 然后按下Insert键打开“Create structure/union”对话框,点击界面上的"Add standard structure"按钮,在打开的结构体选择对话框中选择JNINativeInterface并点击OK返回,同理JNIInvokeInterface结构体也导入进来
 

问题:

IDA Pro 导入jni.h头文件定义

按照说明打开option下的compiler

IDA Pro 导入jni.h头文件定义

因而无法导入jni.h

 

解决方案:


在view菜单中打开subviews下的Type libraries

IDA Pro 导入jni.h头文件定义

在空白处右键导入library

IDA Pro 导入jni.h头文件定义
选择Android ARM 并点OK按钮

IDA Pro 导入jni.h头文件定义

此时compiler内容将发生变化,若未改变,请按图中配置

IDA Pro 导入jni.h头文件定义

再次导入jni.h

IDA Pro 导入jni.h头文件定义

可以修改某类型为JNIEnv*

IDA Pro 导入jni.h头文件定义