网上配置frida的教程挺多的,但我还是搞了很久,,这里大致说一下,最主要是说hook部分
1创建一个专门的frida文件夹,下载雷电模拟器并开启root等权限,下载安装python适配frida的版本比如3.11,用3.11的版本在frida文件夹的路径下创建虚拟环境,在虚拟环境中下载frida(因为我本身的python是3.13不是很适配)
2下载adb并添加环境变量,然后在命令行里查询模拟器架构adb shell getprop ro.product.cpu.abi,比如我是x86_64,然后去github官网下载frida-server-android这种适配自己模拟器架构的,然后解压,然后将此解压后的文件推送进模拟器的临时目录,进入shell环境等,贴个代码
# 将文件推送到模拟器的临时目录
adb push /你的电脑路径/frida-server /data/local/tmp/
# 进入模拟器的shell环境
adb shell
# 在模拟器内部,切换到文件所在目录
cd /data/local/tmp
# 赋予文件可执行权限
chmod 777 frida-server
# 在后台启动frida-server
./frida-server &
需要注意的是如果前面的符号是$的话需要执行su命令使其变为#,然后在进行以后的操作
3新开一个cmd将模拟器的frida端口映射到pc
4最终在虚拟环境的窗口中执行frida-ps -U
总共三个窗口,贴个图片

好的那么就可以分析apk了,首先frida-ps -Ua查看包名信息
2483 Launcher3 com.android.launcher3
2877 图库 com.android.gallery3d
2763 短信 com.android.messaging
1972 设置 com.android.settings
2702 通讯录 com.android.contacts
2506 雷电游戏中心 com.android.flysilkworm
会出现这样的一些信息,然后执行frida -U -p xxxx (这个xxxx就是最前面那四个数字)分析你打开的apk(我用这个命令可以成功打开,一般来说 frida -U -f 包名 –no-pause 也可以,但我不行,所以直接用进程数字应该是最稳妥的。com.什么什么的就是包名)
那么我们可以通过注入代码来实现改apk,这里我修改的是我之前做的那个简单的helloword代码,大概思路就是把textview部分的文字改成其他的,因为我直接在命令行输入代码没改成功,所以我觉得最好成功的方法就是一次性执行打开app和注入代码两条指令,类似于frida -U -f 包名 -l hook.js 这个js文件必须要在frida文件夹里面。贴个图片

那么这样就是成功注入并修改了,如果打开apk后注入不能成功修改我也不知道为什么,慢慢研究吧,当然这并不是永久的,要想永久修改apk需要解包,修改,打包,签名。
当然实际生活中一般要与jadx结合使用,并且要分析native层等,本来今天想分析一下gal直装包,但可恶的雷电模拟器之前一直很卡很慢,额,总之长路漫漫
0 条评论