以 看雪课程的libmyjni的函数 JNIonLoad 函数为例,使用32位的IDA7.0打开so
1.点击 Exports(名词解析:导出函数列表)
2.双击击对应的JNI_OnLoad函数进入IDA View-A视角3.直接按下F5快捷键转换为C语言伪代码 这时候发现没有正确对应 需要修复参数类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DETWs1ZX-1635589720246)(en-resource://database/931:1)]
4.修复int a1 鼠标放在a1上 点击 快捷键 Y 输入 JNIEnv* 确定
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BoKdXxWH-1635589720247)(en-resource://database/930:2)]
5.修复 g_env + 860 g_env + 24 这两个其实也是函数 只是无法正确识别为
JNIEnv* 同理点击 快捷键Y 让函数名显示出来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7PQydFaJ-1635589720248)(en-resource://database/933:1)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aoagZKRq-1635589720248)(en-resource://database/932:1)]
6.修复函数没有参数显示的问题 第五步的函数FindClass 和 RegisterNatives 缺少必要的参数构造 实际上并没有缺少 只是隐藏了 点击函数前面灰色区域 右键选择 Force call type 即可修复
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DjOvwe0Z-1635589720248)(en-resource://database/930:2)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u5TDckou-1635589720249)(en-resource://database/929:1)]
现在显示正常了。



