关于爬虫js逆向的思路分享和知识总结

本文章主要分享爬虫的js方面的知识和特别的知识点  文末有惊喜,最近Chat GPT很火,有想体验的小伙伴文末提供一个GPT体验地址。如果想经常使用可以加入我的知识星球 星球链接地址知识星球

基础部分 

js基础知识点

        关于js中一些很基础的东西不在去详细介绍了,有兴趣的可以去js教学网  去学习了解(后面的补环境也需要用到这个网站),本文讲解一写比较重要和特殊的知识点。

        原型链

                在js中不管是一个实例还是一个原型都存在原型链这个说法(其实就是浏览器中各种对象之间的继承关系,不管是原型还是实例最终都会指向null)

                实例访问原型链的方法 实例.__proto__ 访问到第一个原型对象,可以通过不断地.__proto__ 访问原型对象直到最后为null为止。

                

示例 document 访问原型链的过程
document.__proto__ //HTMLDocument
document.__proto__.__proto__ //Document
document.__proto__.__proto__.__proto__ //Node
document.__proto__.__proto__.__proto__.__proto__ //EventTarget
document.__proto__.__proto__.__proto__.__proto__.__proto__ // EventTarget 下面的方法 __proto__ 指向为null 

                原型访问原型链的方法 原型.prototype 访问到第一个原型对象,然后可以通过.__proto__访问原型链。

//例如Element 原型对象访问原型链的方法 并且能看到该原型链下所包含的方法
Element.prototype //访问到 第一个原型对象 Node
Element.prototype.__proto__ //访问到 第二个原型对象 EventTarget
Element.prototype.__proto__.__proto__ //访问到 第三个个原型对象 Object
Element.prototype.__proto__.__proto__.__proto__ // 查看Object 下拥有的方法 并且在这看到 他的__proto指向null

        特殊的方法的调用

        

//函数的定义
关键词 function 函数名(参数){
        函数内部处理
}

(function(){})--匿名方法 可以直接用变量接受
自执行方法--在脚本文件一被加载就会执行。
定义方式:在匿名方法后面加个()即(function(){})()

        arguments 获得函数参数数组

其他

    true+"" 返回 true   任何类型和文本类型相加返回的是文本类型   除文本类型以外的任何类型和整数相加返回的是整数类型

工具的介绍(浏览器)

        浏览器是js逆向中经常用到的工具,笔者在这里建议使用360极速浏览器进行js逆向(360极速浏览器是基于v8引擎开发的和谷歌使用同一款引擎)。

        浏览器的布局设置---保留日志和停用缓存一定要勾上

        笔者的浏览器布局

        

 

js调试基础

        js中的断点分为以下几种断点:条件断点、页面元素断点 、dom断点、事件断点(XHR 断点)

反调试基础

        常见的反调试:格式化检测、无限debugger、禁止控制台调试、

高级部分

如何补环境

        将扣下来的代码,在node环境中运行,缺啥补啥。

        两个原则要么删要么补。

          删 --删除的代码没有参与最后的计算

         补 --参与了本地计算或者提交到服务器

vmp原理讲解

        浏览器的vmp一般是基于栈式虚拟机,找到总栈,对他进行输出能很快的定位到一些很

vmp 基于栈式虚拟机 或 寄存器虚拟机(有栈)
                            性能更快 可以简化复杂语法

        需要找到总栈、op、局部栈
        在vmp中不容忽视的关键词:eval、apply、call

        还有两个不容忽视的API charCodeAt()、String.fromCharCode()

js逆向无他为手熟尔,多调多练。

GPT跳转链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值