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