|
100精币
最近发现了一个网站 发起提现的时候会把 金额和当前时间一起加密然后处理完提交给服务器
然后各种找,大概知道了是AES加密,但是里面的js被改写了
进入F12 调试 是有反调试的,
网上找了很多资料 只要控制台输入 Function.prototype.constructor=function(){} 就可以调试了
大概找了一会 就发现是这个方法
起初以为是简单的AES 于是在线去测试了一下,发现和抓包的数据不一样
- estr: function(t) {
- var e = s.default.enc.Utf8.parse(this.mmkey)
- , i = s.default.enc.Utf8.parse("wfsdaff23sfsfs9e")
- , a = s.default.enc.Utf8.parse(t)
- , n = s.default.AES.f(a, e, i, {
- mode: s.default.mode.CBC,
- padding: s.default.pad.Pkcs7
- });
- return n.toString()
- },
复制代码 然后断点进入了 f 里面 发现和网上公开的 CryptoJS 有点不同
原来的加密算法是
- _createHelper: function(e) {
- return {
- encrypt: function(b, k, d) {
- return ("string" == typeof k ? c : a).encrypt(e, b, k, d)
复制代码 修改后的算法是,根据我的分析是 进行了2次 ,然后第一次还加上了c =08406a6e18bdf83010ddd1187251454d
- _createHelper: function(e) {
- return {
- f: function(r, i, n, a) {
- return d(i, n).f(e, t.MD5(d(i, n).f(e, r, i, a, n).toString()).toString() + c, i, a, n)
- }
- }
- }
- });
- function d (e, t) {
- return "string" == typeof e ? S : t ? _ : g
复制代码
然后各种调试下断,但始终还是不知道怎么去调用或者修改原来的CryptoJS
希望有懂的朋友能够帮助我一下,
http://app.zqzan.com/static/js/pages-mecenter-index.9b079c32.js
http://app.zqzan.com/static/js/pages-douyin-dotask~pages-douyin-index~pages-hshan-dotask~pages-kshou-dotask~pages-mecenter-index~pa~ed0369b2.e2488804.js
|
|