js伪造原理
js逆向的原理的就是在本地(脱离浏览器的情况下) 有着js引擎里面运行 js代码 因为浏览器是(js引擎+BOM+DOM这里面有着一些内置方法)
所以要想在本地 只有js引擎的情况下运行js代码
对于简单的网站 你可能只扣取 js代码 就可以直接 运行了
对于复杂的网站 需要补环境
1.要伪造什么
1.全部伪造 python中的 jsdom库(易被监测) nodejs(易被监测)
2.给指定网站 伪造
如何知道网站监测了什么
2.如何伪造
要具体看这个网站 的js代码需要用到那些类
比如 要读 Navigator
var Navigator = {
userAgent:‘xxx’,
}
这样你就成功伪造了一个Navigator的类
后面也是以此类推 缺啥伪造啥
反调试
检测是否在调试的几种方法:
1.键盘监听
2.检测浏览器内外高度差值
3.检测开发者浏览者工具变量是否为 true
4.利用console
5.利用代码运行时间差
6.利用toString
分类
显性
debugger
死循环 (循环语句、无限递归、两个方法无限调用)
(1.循环打开新页面,2.写你的历史记录,3.让你的url无限的长)
非虚拟机: 右键设置false 直接本地替换
- 隐性(暗桩)
把你引向错误的逻辑