JS逆向---小程序逆向
微信小程序逆向
学习目标:
- 熟悉 微信小程序逆向
- 熟悉
webpack
模块导出 - 熟悉 开发者工具检测
1 | 本教程仅供学习交流使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,请各学员自觉遵守相关法律法规。 |
一. 小程序逆向
1. 准备工具
注: 会有封号微信,用小号调试
WeChatOpenDevTools
工具包(git地址:https://github.com/JaveleyQAQ/WeChatOpenDevTools-Python)微信
pc
端安装(注:由于版本的问题要是不能用使用课堂上提供的工具)安装好
WeChatOpenDevTools
工具需要用的py
库进入到文件解压地址
1 | pip3 install -r requirements.txt |
- 开启工具启动注入端(自动打开微信进行登录,要是关闭的话用课堂提供的配套安装包)
1 | python main.py -all |
2. 逆向案例
- 小程序:六六找房
- 需求:解析请求头关键字:Authorization
3. 逆向代码
- python代码
1 | import requests |
- node代码
1 |
|
二. webpack
导包文件
1.逆向目标:
- 网址:https://m.ctyun.cn/wap/main/auth/login
- 需求:解析password
2. 逆向分析
- 关键字定位,解析w参数
- 批量扣模块方式,下断点刷新页面
- 进入到加载器内部,删除缓存的模块包让他能进入执行代码
- 清空缓存的模块
r = {}
- 在给一个参数用来接受的模块参数
- 在当前位置下一个条件断点,这个代码没有断点的作用给的条件是0,作用就是把方法都收集到
aaa
当中 aaa[n]=e[n], 0
- 在到方法下面下个断点就能把所有的方法进行收集
- 把所有方法都收集下来
1 | result = '{'; for(let x of Object.keys(aaa)){result = result + '"' + x + '"' + ":" + aaa[x] + ','}; result = result + '}' |
注意: 复制下来代码的\n
需要去除一下, 很多情况下格式也会有问题,要注意排除
三. 网站监听调试工具
1. 了解关闭窗口方式
- 要知道那些操作会关闭页面
- https://www.jb51.net/article/123145.htm
2. 案例1
通过脚本断点的方式让页面停止
要是看到控制台有输出,清空控制台多半是console.clear()方法 可以追踪当前这个方法看看在哪里有调用
可以通过脚步的方式来进行断点
替换文件把内容置空
替换文件在注释代码
3. 案例2
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LittleShark's Space!
评论