添加 frida-gadget 到安卓应用(无须 root)

添加 frida-gadget 到安卓应用(无须 root),第1张

文章目录 添加 frida-gadget 到安卓应用(无须 root)1.使用 apktool 解开对应的 apk2.将 frida-gadget.so 添加到对应 cpu 架构下面3.注入 frida-gadget 字节码到 app 中4.添加网络权限5.回编 apk6.重新签名 apk 和对齐7.重新安装 apk 到你的设备8.和 frida-gadget 交互

添加 frida-gadget 到安卓应用(无须 root) 1.使用 apktool 解开对应的 apk
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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/992281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存