某彩票算法解析

 前言
本文章中所有内容仅供学习交流使用,不用于其他任何目的,所有内容均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx:Ethereal_02_06(添加请备注来意)         
本文章未经许可禁止转载,禁止任何修改后二次传播,作者均不负责,若有侵权,请联系作者立即删除!

1、分析的登陆网站地址

aHR0cHM6Ly8yMzE1NDguYml6L2NoYXJ0LzI0

2、分析接口

https://231548.biz/api/v2/User/signIn  登录接口

这是具体的提交参数 可以看到是一堆乱码 完全看不懂

返回结果也是加密过的 我们接下来就分析提交和返回的加解密

 3.定位加密入口,分析加密

先用简单的搜索法,搜索参数名字data,可以看到有很多结果

那么哪一个是我们需要的加密入口呢,经过排查,发现加密入口在这里,我们在这里打上断点

然后触发一下断点,发现正是我们需要的

然后进入这个T.a方法中查看

发现核心代码就只有这一块,我们拿到pycharm中,写一个方法,如下:

function get_data(e) {
    e = JSON.stringify(e)
    for (var t = "f7664c7ede31eda6c707d6df01b8a015", n = "", r = 0; r < e.length; r += 1)
        n += String.fromCharCode(e[r].charCodeAt() ^ t[r % t.length].charCodeAt());
    return JSON.stringify(n)
}

传入明文 即可得到正确的结果,结果如下可以看到跟抓包的结果是完全相同的

 4.定位解密入口,分析解密

老样子,解密呢 我们还是用搜索大法 但是现在搜的可不是什么参数 ,而是json.parse

搜索之后我们可以看到同样有很多结果

然后一个个进去看,都不像,像的就打上断点,打完之后触发一下,发现断在了这个地方

这就是解密的核心代码,发现是AES的ECB标准算法

然后把这段代码拿下来放到pycharm上,引入crypto-js标准库

var CryptoJS = require("crypto-js")

把源代码里的S.a替换成CryptoJS

然后传入接口返回的数据(记得要把引号去掉即可成功解密)

结果如下:

成功解密

OK完结撒花

5.结束语

wx:Ethereal_02_06(添加请备注来意) 

仅用于学习交流👉侵权+wx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值