android hook 代理 java,Android Java Hook ~ Misaki’s Blog

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

使用Inspeckage尝试hook其中的加密函数

环境:夜神模拟器

Inspeckage 2.3

某收件APP

获取关键参数

安装app后,抓包看到如下参数

36de66174b0f8f4a4a8a4811f1c904c7.png

在AK中搜索其中关键词fm和sign,搜索中发现sign过多,于是尝试搜索FM,搜索中发现如下class文件。

88e2ef4d9bbee0bf89f38d9fad98a992.png

打开Java源代码,在其中的一个void类型的b函数中发现关键。

5806a7af6665ca14b9ad781a2f92949c.png

打开对应文件的sha256函数

080791e6cb8e35d2681d24dffcdb471d.png

基本可以确定加密算法为这个,对其中的三个参数加盐来sha256

paramString1对应了localObject5,也就是timestamp

paramString2对应了localObject4,也就是nonce

paramString3对应了localObject2,也是其中暂不得知道为何的参数

这几个参数,其中sign是不得知为什么参数,其他一个为uuid,一个为时间戳,于是我们尝试hook这个函数。

配置HOOK

在Inspeckage的界面中选着HOOK,点击找到左侧加载出来的函数方法

6da6d4f69cd1f0220ca2da62bd48754d.png

点击后如下,添加

792aa100a60c891ff98d5a08e021a42f.png

在模拟器中做一个请求,此处仍然使用之前的登陆请求,hook到的参数和结果

3dedddd97723fd569b48e32ca0ff57c8.png

其中result就是抓包到的请求sign参数,可以看到参数paramString3为一串拼接的字符串,其中密码为MD5加密,在hash选项中可以看到加密的原参数,和sha256用到的salt值

加密尝试

ce56a6fdfacad319c68b8340d8cba484.png

那么尝试使用在线加密,从hook到的结果得知,paramString3就是请求中的FM字段

8ebc2d5a9ad862ac1f4935f186527936.png

和请求中携带的sign参数对比为相同参数

6eeb7b042dad8e7706f4b79a3fd90a78.png

本以为会到此为止,但是当仔细查看hook的参数时发现,paramString3中的参数均是缺少标签对的,例如123123

他只显示

123123

暂没查到原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值