概述
目录
前言
一、 js逆向分析
二、Node.js
逆向总结
前言
我们登录微信公众号平台,发现密码字段被加密了,接下来对其js加密进行分析,并寻找出js加密代码
- 地址:微信公众平台
- 浏览器:360极速
- 发条JS调试工具
一、 js逆向分析
1. 查看密文形态
因为登录的数据一般都是发送的ajax请求,所以浏览器这里直接点击XHR。如下,输入密码123456点击登录。发现密码字段被加密了,密文是字母和数字组成的且为32位长,到这里就要想到,可能是md5加密!!
我们可到 ——> md5在线解密破解 将密文复制过去看下能不能解密出为123456,如果是的话,就为md5,运气真好,那么接下来就不要逆向了!但是这里是为了学习逆向思路的,所以假设不知道为md5加密,接下来继续看
2. 全局搜索关键字
密文所属字段为 “pwd”,所以接下来进行全局搜索关键字pwd,点击 ctrl+shift+f。能搜索到很多文件,我们只关心js文件,因为加密是js加密的。这么多文件我们可以一个一个看,如下点击进入这个js文件
进入文件后,按ctrl+shift再在这个js文件中搜索pwd。在我们觉得只要是加密函数的最左侧点击加上断点如下,关于 ——> JS断点调试
3. 断掉调试找到加密函数
再重新点击登录,登录过程会触发js加密函数,如果我们在其上加上了断点,那么程序就会停止,这样就能够找到加密函数。
如下程序在下面停止了。鼠标放在pwd上面,发现pwd为明文密文,n为一个js的对象。
将他们全部括住,会自动显示整个值,是最终加密后的值。
找到了加密函数后,我们寻找详细的加密函数,点击step,程序会往下执行一步
进入到如下,return返回整个加密结果,其里面调用了很多个函数,这些函数我们都需要找到
4. 寻找详细js代码
我们把function这个函数外的那一层代码全部复制进行调试工具中,那么可能会包含进行function这个主函数中用到的一些函数和变量
复制进去,点击格式化,加载代码。里面提示缺什么我们就补什么,反正都是在js代码中进行寻找
上面有个 'n'未定义,这个n应该是个对象。我们自己补一个 var n = {}
主函数function为匿名函数,我们娶个名字
为result
再加载代码不报错了,传入函数和明文数据,如下成功还原出来加密过程。
二、Node.js
上面除了使用js调试工具外我们还可以使node.js进行js代码调试
安装:Node.js 安装配置
1. 使用 node js文件
我们在代码中加入打印的函数,如下。这样就能在控制台看到js执行的代码
输出结果
逆向总结
- 需要一点js基础
- 懂得常见的加密算法
- 能够进行js调试
- 主要寻找出整个js加密代码,缺什么补什么
最后
以上就是感动柜子为你收集整理的微信公众号平台js逆向分析前言一、 js逆向分析二、Node.js逆向总结的全部内容,希望文章能够帮你解决微信公众号平台js逆向分析前言一、 js逆向分析二、Node.js逆向总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复