JD(锦鲤红包)之log值 2022.03.26——开源
本帖最后由 编程小子 于 2022-3-26 17:31 编辑前几天看到某易论坛有人求此算法,当时我是真没看到这个包,,,今天突然又看了一眼,嗯,既然看到了就好办了。
理论上来说,所有算法都可以分析、逆向、推理等,能加密亦可解密;
首先我开始打算通过hook,但是由于混淆太严重,导致hook失败;
然后我是通过程序发起定位追踪得到的位子,在进行单步走定位;首先打开谷歌开发者工具,我就不多说了;
先观察程序发起调用的全部js文件(共2个):
图1
文件1:vendor.1e2b8531.js
文件2:index.d43de3f0.js
2个文件全部打开,在文件每个里搜索关键词:log
文件1里没有搜到;在搜文件2,好,文件2里搜到了很多;那么我们就定位核心文件为:文件2
data: {"redPacketId":"441595068","followShop":0,"random":"88812911","log":"需要的","sceneid":"JLHBhPageh5"}
接下来,看图2
首先打开跟进程序发起的第1个函数;下上断点之后,点击网页上的“为他助力”,上看看、下看看发现没用看到log这个密文,那么说明我们所定位的位子不准确;
好,那么我们把这个断点取消,在进行打开跟进程序发起的第2个函数,以此类推,一直找到为止,不要说找不到,只是你没看到而已;
接下来,看图3
经过不断找呀找~~~!找到了,在第9个函数mt()50764位子;
然后下断点,在去网页上点击“为他助力”
图4
根据图4所得到的定位我们接下来进行单步跟踪到函数内,按快捷键F11,走11下到图5位子
图5
那么这个log密文必然就是这个函数内所计算加密而成的 => var c = u(t, e, n);
然后我们单步跳过也就是快捷键F10,按1下走到图6位子
图6
smashUtils.get_risk_result(i);
那么这个函数就是核心了,log运算的过程就在此;核心函数范围:38727~39008行
此js并不难,难点却在switch里绕来绕去,在加混淆有点厉害。
如有任何不懂的,可通过聊天私信
图7
图文教到此结束
提示下,此本版务必通过 http://127.0.0.1/Index.html 才可以正常运算,不支持脱机工作,免费的凑合用吧,我特么的用了2天时间。。。;
卧槽~又长姿势了!源码在此~!
可以可以,非常开心 有脚本可以提供一下吗》 你这生成的log无法使用。403 就2个字。牛逼! 牛的,有sh文件吗 谢谢经验分享 受教了,谢谢大佬分享,这个算法属于那种比较复杂的算法吗 https://www.52pojie.cn/forum.php?mod=viewthread&tid=1611324&extra=page%3D1%26filter%3Dtypeid%26typeid%3D378
好像是加密规则又换了是吗