JadxFindJNI 踩坑记录 —- 之前的笔记了, 整理一下备份
jni_helper
使用jadx sdk在APK中查找JNI函数签名, 生成signature.json, 再加载到Ghidra / IDA / Radare2中
具体使用和功能详见: jni_helper
踩坑记录
使用JadxFindJNI.jar生成json的时候, 报错了…
Failed to generate code for class jadx
看了下是jadx报的错, 搂了一眼JadxFindJNI源码…发现这部分没有异常处理
看看JadxDecompiler还有什么其他参数可以用的, 翻下jadx源码: JadxArgs
对着jadx参数, 给JadxFindJNI.jar增加了忽略了匿名函数&增加了异常处理;
好了, 再编译下看看效果…
编译成.classjavac -classpath .\jni_helper-master\JadxFindJNI\lib\gson-2.8.6.jar;.\jni_helper-master\JadxFindJNI\lib\jadx-core-1.1.0.jar -sourcepath .\jni_helper-master\JadxFindJNI\src -d out .\jni_helper-master\JadxFindJNI\src\com\evilpan\Main.java
打包成jarjar cvfm ./JadxFindJNI_pro.jar .\jni_helper-master\JadxFindJNI\src\META-INF\MANIFEST.MF -C .\jni_helper-master\JadxFindJNI\out\ .
再去提取json, ok, 成功无报错
不过应该还有一种解决方式…在jadxArgs中有个:public void setClassFilter(Predicate<String> classFilter)
这里把报错的类加入不反编译的列表里就可以了, 如果报错的类不多的情况下…..
—————————————–至此提取sig.josn的部分就结束了—————————————–
使用就很方便了, 用大佬提供的idapython脚本导入刚刚的json就可以了, 可以愉快了逆向了…