adb连接安卓模拟器或真机hook参数加密详细过程(frida)

app逆向时,参数与函数的确定很关键,找到可疑的函数,不确定是否由该函数生成,该怎么解决?hook就应允而生了,首先是要求本地电脑和安卓模拟器(网易mumu模拟器支持多系统,该模拟器作为主流)或真机的连接,无论是网易mumu模拟器还是真机都要取得超级权限(root),用两者的区别在于是否java函数中调用c,java函数中调用c就用真机。
adb连接安卓模拟器或真机hook参数加密详细过程(frida)

一、终端安装frida第三方包

pip install frida==14.2.18
pip install frida-tools==9.2.5

二、adb连接安卓模拟器与真机的详细过程

>>>adb kill-server
​
>>>adb start-server模拟机的连接/真机自动连接
>>>adb connect 127.0.0.1:7555>>>adb devices
List of devices attached
emulator-5554   device
1a9f22350107    device
​电脑上的apk安装
>>>adb -s emulator-5554  install F:xxx/xxx/xxx/x.apkcpu架构
>>>adb -s bmus5t7dvkofmvgu shell getprop ro.product.cpu.abi  
arm64-v8a  表示模拟器CPU是arm -> 64位
​
>>>adb -s 1a9f22350107 shell getprop ro.product.cpu.abi
x86_64        表示模拟器CPU是x86 -> 64>>>adb -s 1a9f22350107 shell getprop ro.product.cpu.abi
armeabi-v7a   表示模拟器CPU是arm -> 32位
​
>>>adb -s 1a9f22350107 shell        # 登录设备
>>>adb -s emulator-5554 shell       # 登录设备
>>>adb shell  一个设备
cezanne:/ $ su -  相当于root最高权限
​
本地电脑文件迁移到设备上    移动文件
>>>adb push D:\xxxx\xxxxxx\xxxxxxx /sdcard/

三、安装frida

下载:https://github.com/frida/frida/releases在这里插入图片描述

安装:- 【电脑】解压- 【电脑】文件上传到设备adb push C:\2345Downloads\... /sdcard- 【手机】将frida-server..文件移动到手机的 /data/local/tmp 目录>>>adb shell>>>su ->>>cd sdcard>>>ls>>>mv frida-server-14.2.18-android-x86_64  /data/local/tmp- 【进入】>>>cd /data/local/tmp- 【授权】授予可执行的权限>>>chmod 777 frida-server-14.2.18-android-x86_64# chmod 777 frida-server-14.2.18-android-arm64

四、 启动和Hook

>>>adb shell
>>>su -
>>>cd /data/local/tmp/
>>>./frida-server-14.2.18-android-x86_64

端口的转发

>>>adb forward tcp:27042 tcp:27042
>>>adb forward tcp:27043 tcp:27043

查看包名

# 枚举手机上的所有进程 & 前台进程
import frida# 获取设备信息
rdev = frida.get_remote_device()
print(rdev)# 枚举所有的进程
processes = rdev.enumerate_processes()
for process in processes:print(process)# 获取在前台运行的APP
front_app = rdev.get_frontmost_application()
print(front_app)

搜索url或关键词
找到可疑之处查看包、类、方法名
在这里插入图片描述

import frida
import sys# 连接手机设备
rdev = frida.get_remote_device()# Hook手机上的那个APP(app的包名字)
# 注意事项:在运行这个代码之前,一定要先在手机上启动app
session = rdev.attach("app的包名字")  scr = """
Java.perform(function () {// 包.类var AHAPIHelper = Java.use("包.类");// Hook,替换  implementation实现 类.方法名.implementation = function(context,map){console.log(123);// 执行原来的方法this.方法名(context,map);// 执行原来的方法(如果有返回值)// var x =   this.方法名(context,map);// retrun x;console.log(666);}});
""" 
// 读取脚本
script = session.create_script(scr)// 回调函数
def on_message(message, data):print(message, data)script.on("message", on_message)// 加载
script.load()
// 等待
sys.stdin.read()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/13571.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从OVF矢量场文件中获取磁斯格明子的位置和半径的粗略方法(trace skyrmion)

文章目录 前言一、使用oommf的avf2odt命令行程序获取斯格明子中心位置的示例二、当磁体系的单个xy平面层仅有一个斯格明子的情况1.读取所有磁化文件中的指定磁化分量2.筛选出每一个xy平面层中位于磁化分量阈值范围内的单元格3.计算组成磁结构的所有单元格的平均坐标和平均距离 …

Vue:Elemenu-Plus递归型菜单组件封装

前端开发中,经常遇到需要与后端配置,前端动态渲染菜单的应用场景,而究其本质,就是菜单组件的应用,只是在不确定菜单级数的情况下,我们需要对组件做一个递归处理,让它能够适应大多数应用场景。 递…

支持向量机SVM代码详解——多分类/降维可视化/参数优化【python】

篇1:SVM原理及多分类python代码实例讲解(鸢尾花数据) SVM原理 支持向量机(Support Vector Machine,SVM),主要用于小样本下的二分类、多分类以及回归分析,是一种有监督学习的算法。基本思想是寻…

flutter聊天界面-聊天气泡长按弹出复制、删除按钮菜单

flutter聊天界面-聊天气泡长按弹出复制、删除按钮菜单 在之前实现了flutter聊天界面的富文本展示内容,这里记录一下当长按聊天气泡的时候弹出复制、删除等菜单功能 一、查看效果 当长按聊天气泡的时候弹出复制、删除等菜单,可新增更多按钮 二、代码实现…

leetcode 222. 完全二叉树的节点个数

2023.7.3 用层序遍历遍历一遍二叉树&#xff0c;然后遍历的每个节点都进行一次计数&#xff0c;直接上代码&#xff1a; class Solution { public:int countNodes(TreeNode* root) {queue<TreeNode*> que;int ans 0;if(root nullptr) return ans;que.push(root);while…

风力发电系统的随机调度研究(matlab代码实现)

&#x1f4a5; &#x1f4a5; &#x1f49e; &#x1f49e; 欢迎来到本博客 ❤️ ❤️ &#x1f4a5; &#x1f4a5; &#x1f3c6; 博主优势&#xff1a; &#x1f31e; &#x1f31e; &#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 …

面向订单交付的ETO项目管理数字化解决方案︱高远科技PMO副总经理董方好

北京高远华信科技有限公司PMO副总经理董方好先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;面向订单交付的ETO项目管理数字化解决方案。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 订单…

基于matlab开发和评估停车场场景中的视觉定位算法(附源码)

一、前言 本示例展示了如何使用虚幻引擎模拟环境中的合成图像数据开发视觉定位系统。 获取基本事实以评估定位算法在不同条件下的性能是一项具有挑战性的任务。与使用高精度惯性导航系统或差分GPS等更昂贵的方法相比&#xff0c;不同场景下的虚拟仿真是一种经济高效的方法来获…

电脑免费简单又好用的记事本app软件推荐

很多职场人士在办公时都需要用到电脑&#xff0c;在电脑上有很多好用的工具软件可以用来辅助工作的展开&#xff0c;其中记事本类的App就有不少优质软件存在。那电脑免费简单又好用的记事本app软件推荐哪些呢&#xff1f;这里小编就以自己的Windows10电脑为例&#xff0c;为大家…

MCU是否会从ADAS域控制器消失

摘要&#xff1a; ADAS架构及MCU功能概览、未来ADAS架构的两种方案、MCU是否从ADAS域消失的一点思考 ADAS的装机量和渗透率再提升&#xff0c;尤其L2及L2级&#xff1b;那么随着ADAS域控制器主控芯片的增强&#xff0c;未来&#xff0c;MCU是否还会存在&#xff1f; 转自佐思汽…

网络编程4——传输层TCP协议的三大安全机制:三次握手四次挥手+确认应答机制+超时重传机制

文章目录 前言一、TCP协议段与机制TCP协议的特点TCP报头结构TCP协议的机制与特性 二、TCP协议的 连接管理机制 TCP建立连接&#xff1a;三次握手 TCP断开连接&#xff1a;四次挥手 三、TCP协议的 确认应答机制 四、TCP协议的 超时重传机制 总结 前言 本人是一个刚刚上路的I…

基础算法-子矩阵的和

1 课堂笔记 2 代码 3.代码解析 #include<iostream> using namespace std; const int maxn1010; int a[maxn][maxn],s[maxn][maxn]; int n,m,q,x1,y1,x2,y2;int main(){scanf("%d%d%d",&n,&m,&q);//为数组赋值for(int i1;i<n;i){for(int j1;j&…