a_bogus逆向纯算

第一次扒,本来想着补环境过,但是发现当前文件的版本号是V 1.0.1.17-fix.01,网上那些补环境教程里说的加密生成的ab值的入口找不到了,想着搞搞纯算。

这里抓评论的接口,从接口启动器跳到文件里面打上日志断点,不断的调整断点跟栈发现整个vmp加密流程依靠着一个大数组,不断的往里进行取值,一番操作后又往里存,包括最后生成的ab值。对这个数组存值的地方,还有那些进行位运算的地方插桩,根据日志也就能基本能还原整个加密流程了。
在这里插入图片描述
整个数组生成有几个重要的步骤:

  1. 第18位。里面实现了一个sm3加密的类,将请求链接的参数拼接上dhzx后,调用sum方法加密两次,生成一个32位的数组

  2. 第19位。对请求体拼接dhzx后加密,同样调用sum方法加密2次。如果没有请求体,只会加密dhzx字符串

  3. 第20,21位。对ua进行加密,生成字符串和数组,实际写死就好了

  4. 第26-36位,38-85位。这里主要是根据时间戳和一些数组前面的值经过位运算后生成,里面的76位是取的环境值拼接成的字符串,77位是第76位加密得到的数组,可以写死。

  5. 第37位。这个值跟了一下好像来自鼠标轨迹,实际中我是写死的。

  6. 第86位。由随机数和位运算生成,会参与到第87,91位的生成

  7. 第87位。由第86位和数组前面的一些固定顺序的值通过位运算生成,参与第88位的生成

  8. 第88位。由三个数组拼接成。第一个是一个50位的数组,取自大数组里面固定位置的值,这个位置可以插桩得到,剩下两个是第82位和第87位

  9. 第89位。由随机数生成的数组转字符串,参与第93位ab值的生成

  10. 第90位。由第88位和随机数通过位运算生成。可以根据日志手动还原。

  11. 第91位。由第86位和第90位拼接后转字符串,和另外一个固定数组循环生成一串乱码。注意那个固定数组中的值在循环中会变,插桩可以看到

  12. 第92位。由第89和91位拼接生成

  13. 第93位。也就是ab值,由第92位和另外一个字符串Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe参与生成。控制本地时间戳和随机数的生成,就能得到和浏览器一样的结果了
    在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值