微信公众号平台js逆向分析

本文介绍了如何通过JS逆向分析微信公众号登录时的密码加密过程,从查找密文形态、全局搜索关键字到利用JS调试工具定位加密函数,再到Node.js环境下的代码调试。过程中强调了需要具备的基础知识和技能,包括JS基础、加密算法理解、JS调试能力等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

一、 js逆向分析

二、Node.js

逆向总结


前言

我们登录微信公众号平台,发现密码字段被加密了,接下来对其js加密进行分析,并寻找出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加密代码,缺什么补什么
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ly4j

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值