逆向日期:2024.03.10
使用工具:Node.js
类型:单嵌套Webpack
文章全程已做去敏处理!!! 【需要做的可联系我】
AES解密处理(直接解密即可)(crypto-js.js 标准算法):在线AES加解密工具
仅供学习,仅供学习,无需登录,结尾就不放源码了,几万行代码,放不下。。。如有需要 请单独找我
1、打开某某网站(请使用文章开头的AES在线工具解密):B5G2PE2d8J7Ng5qT9sAQmuaOCMeZPfvYFqDhGyY/VcE=
2、打开网站,控制台、然后刷新页面,在过滤器里输入【get_live_info】,然后点击接口,可以看到有【cKey】这个参数,这个参数就是我们要逆向生成的参数
3、直接全局搜索大法,直接打断点,这个参数很好找,一下就能搜到。。打上断点后,刷新页面,下面看分析的图。
4、然后我们直接复制到本地,一步一步来,莫着急。然后我们再跟栈进去,就来到了加密逻辑代码这里。
5、我们把代码翻到顶部后,你可以看到他是一个webpack,全部复制到本地,然后代码全部收缩,将近8万行代码,你们某些人的电脑风扇估计快转冒烟了吧。
6、我们直接搜索刚刚跳转后的【function rs(t, e, r, n, i) {】在本地搜索啊,然后我们点击这里进行跳转,看下面图
7、跳转后,你会发现这里也是webpack。。。意思就是webpack里面又加了一个webpack,而我们只需要最里面的那个webpack就可以了,外层的那个不用,
8、看下面的图,不知你能否理解,理解不了就说明你需要多找案例去练习了,能理解的就别看了,你可以动手试试,试完后哪里不懂可以来看看。。。。我们直接把里层的webpack扣到本地
9、扣的时候要注意,尽量使用简洁一点的webpack加载器,随便在网上其他网站扣一个就行,只要运行不报错就OK,,然后将要加载的内容放到最下方那里,要注意,如果人家用的webpack是字典格式,你也用字典,如果人家用列表,那你也用列表,别搞错了,一旦搞错,运行的逻辑就会出错,列表和字典的调用方式都不一样,可要看清楚了。
10、测试你加载器是否正常,可以先添加一个参数尝试调用,看看能不能调用成功
11、运行后,报错显示window没有定义,这个大家应该都很清楚,node.js环境是【global】,浏览器环境是window,既然没有window,那我们就把window定义为【global】就可以了。


12、然后我们加载器直接调用【fb15】,为什么要调用【fb15】呢?,,因为加密的方法是在fb15里面,要让【fb15】加载运行后,我们所需要的【rs】加密方法才能存在于局部中,没加载你怎么用,对不对。所以要先加载。

13、开始补环境了,补环境这里其实也没说明难度,就是缺什么,哪里有报错,就在源代码的哪个地方打上断点,然后刷新页面或跟栈去看看是缺少什么,补上就好,我这里演示一下,,比如下面这个图里,缺少【currentScript】参数,那我们就去源代码断点,然后看看缺少什么,
14、官网直接断上,刷新页面,可以看到他是一个标签,那我们也定义标签


15、源代码分析一下,意思很简单,就是从刚刚的那个标签里拿了一个链接,那我们就修改刚刚定义的【currentScript】参数,里面改成src就行


16、运行后出现新的问题,缺少UA头,后面补环境就不演示了,一两句说不清楚,总而言之,缺什么就去网站里打断点,然后看是缺少什么东西,分析后再添加到我们本地的环境里。
下面我就直接把补完后的环境给大家看看

17、环境补完了,我们将输入参数改为和浏览器一样的,看加密结果是否一样,很好。一毛一样。
