本文主要是介绍js逆向-某准网分析及数据解密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
声明
本文仅供学习参考,请勿用于其他途径,违者后果自负!
前言
目标网站:aHR0cHM6Ly93d3cua2Fuemh1bi5jb20v
接口:aHR0cHM6Ly93d3cua2Fuemh1bi5jb20vYXBpX3RvL3NlYXJjaC9jb21wcmVoZW5zaXZlLmpzb24=
参数分析
随便搜索一个公司,通过抓包分析发现有一个请求中携带了加密参数。
同时,该请求返回的结果是一个密文。
想都不用想,肯定是通过某种加解密方式然后返回到h5页面中。
看到这里,需要分析的东西已经知道了。
参数b
、kiv
和数据的解密。
首先观察这两个参数,直接搜索一下kiv
。
碰了碰运气,发现果然可以搜索到。点进去寻找一番,发现了疑似加密点的位置。
可以看到这里使用了大量的三目运算符,通过观察下方也可以发现t
和a
就是我们要的两个参数。
分析后简化代码逻辑,加密参数生成如下:
var a = Object(p.d)();
var t = Object(p.b)(n, {iv: a}).replace(/\//g, "_").replace(/\+/g, "-").replace(/=/g, "~")
首先看到a,键入函数。
函数l是一个生成16位随机字符串的函数,直接拿下就可以运行,这一步没有任何难度。
再看 t 的生成。
将e对象变成一个字符串,然后当作函数o的参数,t.iv是上文中生成的随机字符串。
进入o函数,发现是一个AES加密。
找找逻辑直接拿下来。往上翻翻发现是一个webpack打包的文件。
AES的主要逻辑都在这个r.a中。r又等于n(“n770”),顺瓜摸藤将需要的模块拿下来。
扣取webpack的方法首先找到分发器,然后重新刷新页面。
发现断点就可以断下来,接下来将所需模块拿下来。
最终结果如下。
该接口返回的data也是通过AES解密,一样的配方,一样的操作。
这篇关于js逆向-某准网分析及数据解密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!