目录
本章知识点:
1、JavaScript-反调试&方法&绕过
2、JavaScript-代码混淆&识别&还原
JS反调试
程序加入反调试:实现防止他人调试、动态分析自己的代码
检测调试方法:
- 键盘监听(F12)
- 检测浏览器的高度插值
- 检测开发者人员工具变量是否为true
- 利用console.log调用次数
- 利用代码运行的时间差
- 利用toString
- 检测非浏览器
常见绕过方法:
- 禁用断点法
- 条件断点法
- 此处暂停法
- 置空函数法
- 本地覆盖法
键盘摁下:CTRL+SHIFT+I 或者 F12 就会调出开发者工具
jx.qqqjx.com www.aqistudy.cn
点击鼠标右键或者F12弹出提示
多按几次F12倒是能打开 或者 先打开开发者工具再打开网址
检测调试的方法
检测键盘 F12 如上所示
检测浏览器的高度插值
检测开发者人员工具变量是否为true
利用console.log调用次数
利用代码运行的时间差
利用toString
检测非浏览器
JS逆向-反调试-检测&绕过
禁用断点法(屡试不爽,但是启用了之后自己打断点也不生效)
条件断点法
此处暂停法
置空函数法
本地覆盖法
多按几次F12倒是能打开开发者工具
开始替换
JS逆向-混淆加密-识别&还原
代码混淆加密:上述几种方法,已经达到了反调试的效果,但如果他人查看代码,也可能被找出检测功能并删去。为了防止反调试功能被剔除,我们可以对JS代码进行混淆加密。
开源代码混淆解密JJEncode AAEncode JSFuck
https://www.sojson.com/
AAEncode
如何获取原始代码?
JJEncode
如何获取原始代码?
JSFuck
如何查看加密的源码呢?
商业代码混淆解密https://www.jsjiami.com/ 加密
有的js文件会进行加密,有的不会
如何解密还原?
前提:知道对方使用了什么加密https://jsdec.js.org/ 解密网站