吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16829|回复: 68
收起左侧

[Android 分享] 雷电模拟器安装frida-server教程

  [复制链接]
漁滒 发表于 2021-1-5 15:05
本帖最后由 漁滒 于 2021-1-6 11:42 编辑

本篇教程使用的是雷电3模拟器。雷电4以及真机的操作是完全一样的
为了更好的展示,创建一台新的安卓模拟器
在这里插入图片描述
并且在设置中确认开启了ROOT权限
在这里插入图片描述
然后安装待HOOK的app,这里我使用猿人学第十一题的APP作为展示
在这里插入图片描述
安装完成后正常打开就可以了,接下来去下载frida-server服务端,下载网址https://github.com/frida/frida/releases,因为我是用的是python3.7的版本,所以下载下载最新版本frida-server-14.2.2-android-x86.xz

在这里插入图片描述

下载后解压得到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

在这里插入图片描述
这时fs服务端已经成功开启,然后可以编写py脚本进行hook了,app的分析就跳过了,与本篇无关。
安装frida前需要先安装frida-tools,执行pip install frida-tools安装。安装过程可能会发生报错,科学上网后重试。

然后安装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到函数的参数和返回值



APP下载链接:https://pan.baidu.com/s/1u4OjtUMN_1vMhLP5t_8RKA 提取码:fxns

免费评分

参与人数 7吾爱币 +12 热心值 +6 收起 理由
天空宫阙 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
憨熊好欺负 + 1 + 1 热心回复!
UseLess + 1 用心讨论,共获提升!
佚名RJ + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
suntaolc + 1 + 1 热心回复!
ofo + 3 + 1 我很赞同!
吾要开始学习ing + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

萌新嘤嘤嘤 发表于 2022-6-11 12:02
本帖最后由 萌新嘤嘤嘤 于 2022-6-11 12:18 编辑

请问按照您的步骤,我这边报错    frida.TransportError: error receiving data: 你的主机中的软件中止了一个已建立的连接。   是什么情况呢。我没有开启电脑热点。

不好意思解决了,fs架构选错了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
漁滒 + 1 + 1 我很赞同!

查看全部评分

ofo 发表于 2021-1-6 10:19
关于安装frida遇到过的坑我就说二点
1:电脑端,也就是客户端,win没有py3.7了,电脑安装py3.8,然后pip install frida就自动装上了,不然3.7你死活pip安装不成功,人家源都没有,肯定pip成了假把式,不喜欢python的地方就是这点,每升级一个版本,包括模块全部得换一次,大家发现没有,只要和py相关的模块,官网要列一推下载地址出来python2.0-2.1-2.2...3.7-3.8-python3.9,有时一页排不下,还得分页,好可怕,就不能搞个兼容升级么,只管新的,旧的就直接扔了........
2:之前夜神模拟器安装不上服务端,明明push进去了,但就是启动不了,把Android5工换成Android7解决
3:客服端和服务端版本要一致

QQ图片20210106101630.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
漁滒 + 1 + 1 我很赞同!

查看全部评分

雷欧库珀 发表于 2021-1-5 18:28
看不懂,安装好能做什么东西?抓包分析协议?
正己 发表于 2021-1-5 18:45
frida在git上面有一键客户端
njh 发表于 2021-1-5 18:59
正己 发表于 2021-1-5 18:45
frida在git上面有一键客户端

能给个链接么
zk0017 发表于 2021-1-5 19:10
正想整个游戏玩玩 好东西
正己 发表于 2021-1-5 19:20
我还没有吃饱 发表于 2021-1-5 19:26
请问下判断手中frida版本是否支持模拟器/某些机型 的方法就是看frida-ps 指令能不能正常使用么? ....我闭眼下载都没见过不能执行的,但明显之后的使用会有各种问题
 楼主| 漁滒 发表于 2021-1-5 19:44
我还没有吃饱 发表于 2021-1-5 19:26
请问下判断手中frida版本是否支持模拟器/某些机型 的方法就是看frida-ps 指令能不能正常使用么? ....我闭眼 ...

这个问题的话我也没有研究过,模拟器都是用的雷电,如果在模拟器上跑不通,直接上真机都不会有问题了
daixh 发表于 2021-1-5 20:33
不明觉厉
userni 发表于 2021-1-5 21:29
get新技能
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 04:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表