记录使用frida hook 某点资讯加密参数signature

本文介绍了如何利用Frida工具在安卓环境中hook应用的加密参数方法。首先,通过连接模拟器和运行frida-server,然后在jadx中定位到加密方法。接着,编写js脚本hook native的signInternal方法,最后在cmd中运行脚本获取hook结果。通过这种方法,可以捕获到加密参数str和签名sign的详细信息。
摘要由CSDN通过智能技术生成

使用工具

步骤

  1. 工具:装好frida的环境,模拟器或者真机一个(我是雷电4),jadx(最好一个老版本和一个新版本,老版本可以打开脱壳后的app,新版本可以看加固的包,我的分别是1.2.0和1.4.0),Androidkiller(主要用来看包名和搜索参数方法名)
  2. 步骤:可以用Python注入和js注入,我不会Python,就用js吧

2.1、先连接模拟器
先在cmd中连接模拟器并打开frida-server服务,名字改成自己的版本
`在这里插入图片描述

2.2、jadx中找到加密参数和方法
全局搜索signature,找到如下
在这里插入图片描述
进入sk1.a方法
在这里插入图片描述
再进入SignUtil.a方法

在这里插入图片描述

经过分析,可以知道,最终是要hook这个native的signInternal方法,本来我是要用Xposed来hook的,但一直hook不到,才改成frida,frida可以hook native方法,不会Python,经过度娘,才找到这个方法
接下来就可以hook这个signInternal方法了

2.3、创建js文件,里面代码如下

Java.perform(function(){
    var signUtil = Java.use("com.yidian.news.util.sign.SignUtil");
    signUtil.signInternal.implementation = function(context, str) {
        console.log("str =", str);
        var sign = this.signInternal(context, str);
        console.log("sign =", sign);
        return sign;
    }
})

先在模拟器中打开要抓的APP:某点资讯客户端
再新开一个cmd窗口
连接端口
在这里插入图片描述```
解释:pc端27042的端口接收的数据转发成模拟器或者手机27042的端口上

查看一下手机进程:

frida-ps -U
U表示usb

在这里插入图片描述

hook包
frida-trace -i "open" -U com.**.**

这里我用的是进程id

这个4118就是app的进程id

 D:\**\GetSignStr\test.js -p 4118
 解释:js文件的全路径名 + -p 进程id

-p:进程id

结果:
在这里插入图片描述
从这里可以看出,str就是上面SignUtil.a方法中第二个参数,由好几个字符串拼接起来的,结果就是sign

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值