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

您所在的位置:网站首页 ED安装器和模拟包 adb连接安卓模拟器或真机hook参数加密详细过程(frida)

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

2023-07-10 01:28| 来源: 网络整理| 查看: 265

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()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3