js逆向技巧(三)

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 直接本地替换

  • 隐性(暗桩)

把你引向错误的逻辑

你可能感兴趣的:(javascript,爬虫,逆向)