app进行HOOK基础

HOOK

配置frida和一些前期准备工作:

⼀、Frida安装

环境:具有python环境
设备:需要ROOT
⼯具:frida(⽬前版本最稳定的为16.1.10,其他版本有的会报各种错误)

服务端安装(PC)

⾸先进⾏安装Frida,需要⼤家有Python3环境即可。

pip install frida==16.1.10 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install frida-tools==12.1.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
客户端安装(Android)

安装完之后确认⼿机架构,这⾥使⽤模拟器来操作。

可以注意到如果没有直接进行root用可以进行外部进行root即:

adb root

在这里插入图片描述

然后执行命令:

getprop ro.product.cpu.abi

执行 getprop ro.product.cpu.abi 命令的意义是获取设备 CPU 的应用程序二进制接口(ABI)类型

在这里插入图片描述

如图为x86_64架构

在这里插入图片描述

在官网下载好对应的版本后进行push

F:\tools\adb>adb push frida-server-16.1.0-android-x86_64.xz /storage/emulated/0/
frida-server-16.1.0-android-x86_64.xz: 1 file pushed, 0 skipped. 27.4 MB/s (31602724 bytes in 1.100s)

F:\tools\adb>

导⼊到⼿机之后要添加权限并且运⾏(这⾥要记得更换⼀个⽬录去运⾏)。

在这里插入图片描述

unxz frida-server-16.1.0-android-x86_64.xz

然后进行运行

在这里插入图片描述

⼆、Frida使⽤

新开一个终端窗口,执行:

adb forward tcp:27042 tcp:27042  # 端口转发
frida-ps -U                       # 列出设备进程

在这里插入图片描述

在这里插入图片描述

三、HOOK基础操作

抓包:
在这里插入图片描述

找出对应程序的代码:

先pull:
在这里插入图片描述

随后将脱下来的apk进行反编译并寻找关键词:

在这里插入图片描述

尝试进⾏hook对应的APP操作:

在这里插入图片描述

frida -U -f "com.nd.android.pandareader" -l "xxxx01.js"

xxxx01.js:

Java.perform(function () {
    let k = Java.use("com.baidu.shucheng91.download.k");
k["b"].overload('java.lang.String', 'java.util.Map').implementation = function (str, map) {
    console.log(`k.b is called: str=${str}, map=${map}`);
    let result = this["b"](str, map);
    console.log(`k.b result=${result}`);
    return result;
};
});

随后在cmd中运行即可:
在这里插入图片描述

hook概念:

即在程序中插入代码块进行调试,对程序的动作进行监控和调试,修改程序某些行为动作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值