hook框架 Frida

# hook 是什么
Hook 框架是一种技术,用于在运行时拦截和修改应用程序的行为。
通过 Hook,你可以劫持应用程序的方法调用、修改参数、篡改返回值等,以达到对应用程序的修改、增强或调试的目的

# 常见的hook框架有那些
Xposed Framework:Xposed 是一个功能强大的开源 Hook 框架,可以在不修改应用程序源代码的情况下,对应用程序进行各种修改。它允许你编写模块来拦截和修改应用程序的方法调用,修改应用程序的行为和逻辑。

Frida:Frida 是一个跨平台的动态 Hook 框架,支持安卓和其他操作系统。它提供了一个强大的 JavaScript API,可以在运行时对应用程序进行 Hook,包括方法拦截、参数修改、调用注入等。Frida 可以用于安全

下载和安装

# 注意:
    1 电脑端,需要安装python的解释器环境--》【3.9】--》安装frida模块
    2 手机端,需要安装 frida-server
    3 python解释器环境中的frida模块版本必须和 手机端使用的frida-server版本要一一对应

电脑端安装模块.

# 1 python解释器环境安装好
# 2 下载frida相关模块(有版本--》默认安装最新--》我虚拟环境下安装)
    pip install frida==16.1.7
    pip install frida-tools==12.3.0

手机端安装frida-server

# 1 下载地址:https://github.com/frida/frida/releases
    -有很多很多平台架构
# 2 查看手机架构(手机连接到电脑上)
adb shell getprop ro.product.cpu.abi
    #arm64-v8a
    
# 3 下载 软件
# 4 解压(不要用压缩包放到手机上,一定要解压开)
    frida-server-16.1.7-android-arm64
    
# 5 把 frida-server-16.1.7-android-arm64 推送到手机上  /data/local/tmp 
adb push ./frida-server-16.1.7-android-arm64 /data/local/tmp

# 6 命令操作(查看是否顺利上传)
>adb shell  # 进入手机
taimen:/ $ su # 申请获取超级用户权限,手机端点允许,不要点拒绝
taimen:/ #    # 看到是# 表示已经得到了超级用户权限 ,$ 表示不是超级用户
taimen:/ # cd /data/local/tmp
taimen:/data/local/tmp # ls
    # 能看到咱们推送上来的frida-server 
    # frida-server-16.1.7-an
    
# 7 赋予可执行权限(win连接手机中,来到相应目录下,执行命令)
    chmod +x frida-server-16.1.7-an
    ls -al # 会有x权限了
    
    
# 8 运行frida-server (如果不加执行权限,运行不了)
./frida-server-16.1.7-an  # 敲回车就可以执行了,卡主,表示启动了,如果没启动会报错
# 9 如果出现报错,基本上重启手机就能解决
    adb shell setenforce 0 # 在电脑上运行

在电脑端配置端口转发

## # 手机端启动了frida-server,服务---》电脑端要跟它通信---》通过某个端口做通信---》以后发送到电脑端 27042端口的数据---》转发到手机的27042端口

## 方式一:使用命令(在电脑端的cmd窗口中)
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043


## 方式二:使用python代码,右键运行即可
import subprocess # python中执行系统命令的一个模块
subprocess.getoutput("adb forward tcp:27042 tcp:27042")
subprocess.getoutput("adb forward tcp:27043 tcp:27043")

# 以后手机端每次启动了frida-server,都要执行端口转发,否则会报错

你可能感兴趣的:(python,java,c语言)