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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

app逆向时参数与函数的确定很关键找到可疑的函数不确定是否由该函数生成该怎么解决hook就应允而生了首先是要求本地电脑和安卓模拟器网易mumu模拟器支持多系统该模拟器作为主流或真机的连接无论是网易mumu模拟器还是真机都要取得超级权限root用两者的区别在于是否java函数中调用cjava函数中调用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手机上的那个APPapp的包名字
# 注意事项在运行这个代码之前一定要先在手机上启动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()

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: android

“adb连接安卓模拟器或真机hook参数加密详细过程(frida)” 的相关文章