1.安装frida
pip install frida
pip install frida-tools
2.在手机上安装frida-server服务
备注:最好与frida的版本一致
3.将frida-server解压后,push到手机的 data/local/tmp路径下
- 给frida-server加上最高权限:
- cd 到 data/local/tmp 目录
- chmod 777 frida-server
4.进行端口的转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
5.启动frida-server
- cd data/local/tmp 进入该目录
- ./frida-server (该步骤就启动server了)
6.python的编写
#通过frida模块,编写一个小工具,可以获取当前运行的app
import frida
#获取设备信息
rdev = frida.get_remote_device()
print(rdev)
#获取所有的进程,可以看到当前设备的所有app
pros = rdev.enumerate_processes()
for pro in pros:
print(pro)
#获取前台运行的APP
front_app = rdev.get_frontmost_application()
print(front_app)
7.通过包名,编写HOOK代码
import sys
import frida
#获取设备信息
rdev = frida.get_remote_device()
#process = frida.get_usb_device().attach("哔哩哔哩")
session = rdev.attach("哔哩哔哩")#这儿写你需要hook的app名字,或者包名
src= """
Java.perform(function(){
var sha256 = Java.use("t3.a.i.a.a.a.b"); //括号了写HOOK函数的包名
//这里的b代表要用sha256里的b方法
sha256.b.implementation = function(arg5){
console.log("加密前--->",arg5);
//通过该方法,传入arg5进行加密
ver res = this.b(arg5);
console.log("加密后--->",agr5);
return res
}
})
"""
srcipt = session.create_script(scr)
def on_message(message,data):
print(message,data)
srcipt.on("message",on_message)
srcipt.load()
sys.stdin.read()