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

news2024/11/17 3:30:14

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.apk



cpu架构
>>>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.coloradmin.cn/o/728568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker学习笔记23

Docker Swarm架构: Swarm中以集群(Cluster)为单位进行管理,支持服务层面的操作。 集群是Swarm所管理的对象。 基本概念: 节点(Node)为Swarm集群中的一个Docker Engine实例。其中管理节点&#…

线程池问题处理

拒绝策略 AbortPolicy:默认的拒绝策略,直接抛出RejectedExecutionException异常。 CallerRunsPolicy:将任务退回给调用者执行。 场景 等线程池里的任务执行完通过future.get的方式获取线程池里的线程执行结果,然后合并到主流程…

自动化平台总结(httprunner+djangorestframework+python3+Mysql+Vue)【基础结构构思】

目录 一、前言 二、简介 三、整体结构 🎁更多干货 完整版文档下载方式: 一、前言 把一个以前自己搭建的自动化测试平台进行了一下重构升级,记录一下过程中的一些问题和总结。 二、简介 搭建的平台语言使用的是Python3.6,未来…

Oracle中没有show tables;如何用指令来显示表名,Excel关于VLOOKUP函数的使用。

一、问题:Oracle中没有show tables;如何用指令来显示表名。 解决方案: owner NAPSDEV更换为owner CNAPSIIDB。NAPSDEV是用户名,CNAPSIIDB是数据库名。在这里,我想让它显示的是我在Navicat中的CNAPSIIDB数据库下的所有表的名称。所…

Python - Django框架 - 简单运行

pycharm创建django项目 确保安装了Python 安装django pip install Django 创建django项目 django-admin startproject django_study 切换到django目录并启动 cd django_study python manage.py runserver 开发服务器将在默认的localhost:8000上运行,可以在浏览器中访…

vue-cute-timeline插件使用

效果 (内容覆盖的有些丑,别在意哈,重点是时间线的展示)element也有类似的时间线,但是不能使用类似这样的图片 所以就采用了vue-cute-timeline插件 使用方法(可自行百度) 安装:npm i…

服务器防止漏洞扫描解决方案

1、定期更新操作系统与应用程序 为了修复可能存在的漏洞和安全问题,建议定期对服务器的操作系统与应用程序进行更新。特别是对于那些常常成为黑客攻击目标的应用程序,比如WordPress等,更新是不可或缺的。通过更新,不仅可以增强服…

管理执行系统-亿发MES智能制造系统赋能制造企业信息化,实现工业现代化

在制造技术领域,质量控制信息集成建设需要健全的管理体系,加强全过程管理。虽然管理执行系统 (MES) 背后的理论思维已经取得了重大进展,但在软件应用集成和分析能力方面仍有改进的空间。本文将探讨MES系统如何赋能制造企业信息化,…

Linux内核源码下载

参考文章:https://blog.csdn.net/m0_49328056/article/details/121669035 一、git命令下载 1、进入官网:https://www.kernel.org/ mainline(主线版本)、stable(稳定版本)、longterm(长期演进版…

DAY41:贪心算法(十)监控二叉树

文章目录 968.监控二叉树思路遍历顺序空节点处理情况列举 最开始的写法debug测试:travelsal的输出多了1 修改版二叉树注意点时间复杂度总结 968.监控二叉树 给定一个二叉树,我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及…

SpringBoot多模块项目整合JPA,解决被依赖模块Dao层无法注入的问题

DAO层: 报错: 解决办法:被依赖模块的DefaultConfig类加上如下注解,问题即解决 ComponentScan(basePackages "com.fdw.study.*") Configuration EnableJpaRepositories(value "com.fdw.study.dao") EntityS…

Linux0.11内核源码解析-read_write.c

目录 sys_lseek read write read_write.c主要是实现文件系统调用read(),write()和lseek()三个功能 read和write函数分别是调用file_dev.c/pipe.c/block_dev.c/char_dev.c实现相对应的函数 sys_lseek lseek实现系统调用将对文件句柄对应文件结果体中的当前读写指针进行修改&…

matplot 显示文本

import matplotlib.pyplot as plt# 绘制一些数据 x_data [1, 2, 3, 5] y_data [2, 4, 8, 10] plt.plot(x_data, y_data,o,markersize 20)# 添加文本注释 text [a,b,c,d] for i in range(4):plt.text(x_data[i], y_data[i],text[i], fontdict{family: serif, size: 16, col…

leetcode极速复习版-第五章栈与队列

目录 栈与队列 理论基础 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 239.滑动窗口最大值 347.前 K 个高频元素 栈与队列 理论基础 队列是先进先出,栈是先进后出。 232.用栈实现队列 使用栈实现队…

动态路由,微信小程序绑定

■登录成功之后添加动态路由 ●登录的时候会获取到它的菜单配置■动态路由 | Vue Router <view wx:for"{{list}}">{{index}}--- {{item.name}} </view><view wx:for"{{list}}" wx:for-item "ttt" wx:for-index"num"&…

第二节 给SpringBootAdmin的server端加入spring security安全控制

前言 本来想用一节就写完SpringBootAdmin的&#xff0c;但随着研究的深入发现一节应该是不够的&#xff0c;网上的资料也不会非常系统&#xff0c;官网的例子有些已经好几年没更新了&#xff0c;所以接下来还是系统性的来写下吧 第一节 完成基础配置&#xff0c;暴露所有端点…

Qt-->QQ登陆界面图形化界面

#include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);this->setFixedSize(640,520);//设置窗口标题this->setWindowTitle("QQ&qu…

勒索病毒危害,企业该如何预防勒索病毒

勒索病毒是一种恶意软件&#xff0c;它会对企业内的计算机系统或数据进行加密或锁定&#xff0c;并要求企业支付赎金以解锁或解密。 勒索病毒危害&#xff1a; 数据丢失&#xff1a;勒索病毒可以加密您的文件、照片、视频和其他重要数据&#xff0c;使其无法访问或恢复。如果…

解决centos7和主机win11不能互传文件复制粘贴;及CentOS7最小安装版 VMware Tools安装

linux.iso 中的文件已经加载到 /mnt/cdrom 目录下了。在 /mnt/cdrom 中找到加载出来的文件并拷贝到 /tmp目录下&#xff0c;进行解压。解压好后从中找到 vmware-install.pl&#xff0c;这是vmware tools的安装文件&#xff0c;执行此文件开始安装 ./vmware-install.pl 一路Ente…

宏基因组碳循环高分分析思路,你值得拥有!

碳是生命物质中的主要元素之一&#xff0c;是有机质的重要组成部分。地球上主要有四大碳库&#xff0c;即大气碳库&#xff0c;海洋碳库、陆地生态系统碳库和岩石圈碳库。碳循环&#xff0c;是指碳元素在自然界的循环状态&#xff0c;大气中的二氧化碳&#xff08;CO2&#xff…