返回顶部
首页 > 资讯 > 移动开发 >adb连接安卓模拟器或真机hook参数加密详细过程(frida)
  • 666
分享到

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

adbandroid 2023-10-05 20:10:19 666人浏览 薄情痞子
摘要

app逆向时,参数与函数的确定很关键,找到可疑的函数,不确定是否由该函数生成,该怎么解决?hook就应允而生了,首先是要求本地电脑和安卓模拟器(网易mumu模拟器支持多系统,该模拟器作为主流)或真机的

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

一、终端安装frida第三方包

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

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

>>>adb kill-server​>>>adb start-server模拟机的连接/真机自动连接>>>adb connect 127.0.0.1:7555>>>adb devicesList of devices attachedemulator-5554   device1a9f22350107    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.abix86_64        表示模拟器CPU是x86 -> 64>>>adb -s 1a9f22350107 shell getprop ro.product.cpu.abiarmeabi-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)# 获取在前台运行的APPfront_app = rdev.get_frontmost_application()print(front_app)

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

import fridaimport sys# 连接手机设备rdev = frida.get_remote_device()# Hook手机上的那个APP(app的包名字)# 注意事项:在运行这个代码之前,一定要先在手机上启动appsession = 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()

来源地址:https://blog.csdn.net/qq_27109535/article/details/131602999

--结束END--

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

本文链接: https://lsjlt.com/news/423874.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作