雷电模拟器安装frida | 您所在的位置:网站首页 › 木木模拟器开启root权限不成功 › 雷电模拟器安装frida |
本篇教程使用的是雷电3模拟器。雷电4以及真机的操作是完全一样的 为了更好的展示,创建一台新的安卓模拟器 下载后解压得到frida-server-14.2.2-android-x86,并重命名为fs,然后用adb指令发送到模拟器/data/local/tmp目录里面 adb push fs的路径 目标路径 adb push C:\Users\59276\Desktop\fs /data/local/tmp发送完成后,进入安卓模拟器 adb shell获取root权限 su进入/data/local/tmp目录 cd /data/local/tmp给fs权限 chmod 777 fs开启fs服务端 ./fs然后还需要开启端口转发,新开启一个cmd窗口 adb forward tcp:27042 tcp:27042
然后安装frida,安装与frida-serve版本相同的frida模块,最新版可以直接pip install frida安装。 安装完成后可以编写一个简单的脚本进行HOOK import sys import frida jscode = """Java.perform(function () { var OnlineJudgeApp = Java.use('com.yuanrenxue.onlinejudge2020.OnlineJudgeApp'); OnlineJudgeApp.getSign.implementation = function (j) { send("参数: j"); send(j); var sign = this.getSign(j); send("结果: sign"); send(sign); return sign; } });""" # 等待绑定的回调函数 def message(message, data): if message["type"] == 'send': print(message['payload']) else: print(message) process = frida.get_remote_device().attach('com.yuanrenxue.onlinejudge2020') # 按包名的方式附加js脚本 script = process.create_script(jscode) # 加载已有的js代码 script.on("message", message) # 绑定发送时接收的回调函数 script.load() # 载入js脚本 sys.stdin.read() # 等待系统输入运行后,在app内输入任意数字,然后点击查询,就会打印如下内容 参数: j 12 结果: sign X+lUrtCOyoCzrGmT6rWEhzLoQJ#TpWJap+OjyrYQEOYldr#k+qFGqru45T9wkiEMXr#g56yICvMzo02JCtFYxlY5GTNk9oxAov3cA0ZW8b+s5vBUdI==此时成功hook到函数的参数和返回值 |
CopyRight 2018-2019 实验室设备网 版权所有 |