apktool d myapp.apk -o extractedFolder
2.将 frida-gadget.so 添加到对应 cpu 架构下面
# 例如调试机型的 cpu 架构为 arm64-v8a,
# 那么需要在 extractedFolder 目录中添加 lib/arm64-v8a 目录
# 在 https://github.com/frida/frida/releases 下载对应 frida-gadget 包
# 这里下载 frida-gadget-15.1.14-android-arm64.so.xz 包
wget "https://github.com/frida/frida/releases/download/15.1.14/frida-gadget-15.1.14-android-arm64.so.xz"
# 解压缩
unxz frida-gadget-15.1.14-android-arm64.so.xz
# 将解压缩后的 so 库文件添加到上面添加的 lib/arm64-v8a 目录中
cp frida-gadget-15.1.14-android-arm64.so lib
3.注入 frida-gadget 字节码到 app 中
随便找一个 app 在启动时会加载的类,这里使用 MainActivity。extractedFoloder 中的对应 smail 文件,插入如下代码:
const-string v0, "frida-gadget"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
4.添加网络权限
在 AndroidManifest.xml 中添加如下权限配置
<uses-permission android:name="android.permission.INTERNET" />
5.回编 apk
apktool b -o repackaged.apk extractedFolder
6.重新签名 apk 和对齐
# 如果你没有 keystore,可以通过如下命令来创建一个
keytool -genkey -v -keystore custom.keystore -alias mykeyaliasname -keyalg RSA -keysize 2048 -validity 10000
# 签名 apk
jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore custom.keystore -storepass mystorepass repackaged.apk mykeyaliasname
# 校验你创建的 apk
jarsigner -verify repackaged.apk
# 对齐 apk
zipalign 4 repackaged.apk repackaged-final.apk
7.重新安装 apk 到你的设备
# 可以通过 adb 执行安装
adb install repackaged-final.apk
8.和 frida-gadget 交互
$ frida-ps -U Gadget
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)