关注微信公众号:K爬虫小哥,继续分享爬虫进阶、JS/Android逆向等技术干货!声明本文所有内容仅供学习交流。抓拍内容、敏感网址、数据接口均已脱敏处理,严禁用于商业或非法用途。否则,由此产生的一切后果与作者无关。侵权请联系我立即删除!逆向标靶:社会主义核心价值观加密原理分析首页:aHR0cHM6Ly93d3cuYXBwbWl1LmNvbS9rZXkv逆向分析K哥的同事今天发了个有趣的加密,不管你输入什么字符串,加密后的结果都是24个字符的社会主义核心价值观是随机组合,如下图所示:首先,我们尝试抓包,看看网络上有没有发包操作。实际上并没有,这说明加解密的逻辑在加载的JavaScript代码中。这里介绍三种定位加密入口的方法:1、我们注意到加密结果总是由社会主义核心价值观组成,肯定是在原来的24个字符的基础上做了一些操作,也就是说这24个字符必须定义somewhereWord,我们可以全局搜索任意一个词,如下图:2.加解密的结果是点击按钮后才会产生的,所以这个按钮必须绑定一些事件,比如鼠标点击事件,我们可以通过DOM事件断点定位到加密入口,如下图所示:3、我们注意到加解密的按钮有一个id,所以有可能JavaScript中获取到这个id后,使用addEventListener()method给这个元素添加一个鼠标点击事件处理器,所以你也可以全局搜索它的id,即encode-btn和decode-btn,你也可以搜索getElementById("encode-btn")或者getElementById("decode-btn"),当然你也可以搜索方法键addEventListener这个词。如下图所示:定位到加密位置后,埋下断点调试。我们看一下加密逻辑:加密过程:变量v通过元素id(decoded-area)获取明文区域(textarea),点击加密按钮(encode-btn)会触发一个事件,进入下面函数.v.value是明文值。通过l()函数加密后赋值给n,再将n赋给p.value,在密文中显示。文本区域(编码区域)。解密过程:变量p通过元素id(encoded-area)获取密文区域(textarea),点击解密按钮(decode-btn)触发事件,进入如下函数,p.value为密文value,经过s()函数解密后给n赋值,然后把n赋给v.value,显示在明文文本区(decoded-area)。整个代码逻辑比较简单,用到的函数都放在一起,全部copy即可。完整代码GitHub关注K哥的爬虫,持续分享爬虫相关代码!欢迎加星!https://github.com/kgepachong/JavaScript加解密代码vare=function(){for(vart=arguments.length,n=Array(t),r=0;r
