在手机上跑frida脚本,并开启服务
第一种方法,在termux直接跑frida
托Mac M1芯片的福,frida也支持了在ARM下直接运行,当然frida的版本必须在14以上,意味着可以在手机上直接跑frida 脚本和objection等等。frida的rpc暴露出相应的端口,可以直接跑。
termux里把python装上,然后装上adb,adb连127.0.0.1接口(记得打开wifiadb),然后找个窗口启动frida,之后即可按正常流程跑python 把rpc的接口暴露出来。
frida-net和frida
git clone
Ghidra
Ghidra是一款跟IDA一样用来进行逆向分析的软件,同样可以用来静态分析so,免费软件,新潮且受到大家追捧。
Ghidra官网:https://ghidra-sre.org/
可以到官网下载。下载之前,需要先装好高版本的openjdk,在Terminal处输入apt search openjdk
来寻找openjdk的相应源
这里我们选择jdk14。
省略apt install。。。。
git clone https://github.com/Ayrx/JNIAnalyzer.git下载这个项目,用来辅助我们在Ghidra上分析so。
我们先运行我们的Ghidra。
第一次创建先创建一个新的项目。
之后来到这个页面,即可拖入so来进行分析。
效果还挺不错的,起码颜色我喜欢~
JNI Helper
该库是evilpan大神写的也是辅助我们在Ghidra上静态分析so的。
该库地址:https://github.com/evilpan/jni_helper
使用方法:
除了需要clone该库之外还要额外下载该库的Jadx的插件jar
直接.zip下下来。
解压之后,先调用该jar包
-ps : /root/apk/fulao2.apk是路径, fulao.json是出参。
运行完该条命令马上开始疯狂解析so。
然后还要安装Ghidra的插件,这个直接在我们的clone下来的项目里面找。
到该项目的ghidra项目下make install
然后到ghidra下的这个位置
点击,然后找到这个界面,随便找个灰色的地方右键
打钩
出现打钩不了,像我截图这样,请重新启动ghidra!
可以打钩了~
然后就可以搜到我们的脚本了~
右键run script
打开刚才生成的json文件。
当当,有效果了~
-ps : 没有动态调试,说明缺乏第三方工具,反编译效果跟IDA还是差了点,不过是新鲜事物,多个工具多个路子了~
jnitrace
https://github.com/chame1eon/jnitrace
该库可以hook所有jni函数。hook到之后会打印其参数返回值。