逆向效率提升工具与方法汇总(持续更新...)

欢迎大家提供高效方法与工具

  • 工具
    • 油猴插件
    • SwitchyOmega
    • Reres
    • Fiddler插件编程猫
  • 奇淫技巧
    • selenium
      • Options常用参数
      • 防检测
        • 将浏览器navigator.webdriver重置为False
        • stealth.min.js解决常见的指纹检测
        • 浏览器worker完美解决检测
    • SSLError OR JA3
  • 小试牛刀
    • chrome开发者工具设置中文
    • 调试代码如何友好格式化

工具

油猴插件

油猴插件,可以把它理解为一个脚本,相当于给浏览器添加一些新功能。在逆向时我一般会用它来hook逆向参数位置,大家可以直接在浏览器应用商城搜索下载,或者进入官网下载,具体使用文档可以参考此文章
最强浏览器插件:油猴脚本的安装及使用教程
逆向效率提升工具与方法汇总(持续更新...)_第1张图片

SwitchyOmega

SwitchyOmega是一款在Google Chrome 浏览器上的一个代理扩展程序,可以轻松快捷地管理和切换多个代理设置。在逆向时我一般会通过它来设置浏览器的代理,这样就不需要对本机设置代理,而且通过它也能方便与Fiddler联动下载链接
逆向效率提升工具与方法汇总(持续更新...)_第2张图片

Reres

reres是一款Chrome插件,当碰到想替换的js、css、html时想要替换,这个时候就可以使用reres来进行解决。如果只需要hook参数或者cookie生成位置啥的,我们可以直接使用油猴插件快速实现,但是如果我们需要将网站的文件替换成本地文件,那这个插件能快速实现。下载链接
它支持正则匹配网址链接,注意本地文件指定需要file:///开头
逆向效率提升工具与方法汇总(持续更新...)_第3张图片

Fiddler插件编程猫

编程猫插件是针对Fiddler开发的一款插件,它提供了js调试工具、注入hook和内存漫游等功能,能有效提高逆向效率。下载链接

奇淫技巧

selenium

Options常用参数

options.add_argument('--headless')                     # 开启无界面模式
options.add_argument("--disable-gpu")                  # 禁用gpu
options.add_argument('--user-agent=Mozilla/5.0 HAHA')  # 配置对象添加替换User-Agent的命令
options.add_argument('--window-size=1366,768')         # 设置浏览器分辨率(窗口大小)
options.add_argument('--start-maximized')              # 最大化运行(全屏窗口),不设置,取元素会报错
options.add_argument('--disable-infobars')             # 禁用浏览器正在被自动化程序控制的提示
options.add_argument('--incognito')                    # 隐身模式(无痕模式)
options.add_argument('--disable-javascript')           # 禁用javascript
options.add_argument(f"--proxy-server=http://ip:port")  # 使用代理
options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度
# 其它
--user-data-dir=[PATH]” 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区。
--disk-cache-dir=[PATH]“ 指定缓存Cache路径
--disk-cache-size= 指定Cache大小,单位Byte
--first run 重置到初始状态,第一次运行
--incognito 隐身模式启动
--disable-javascript 禁用Javascript
--omnibox-popup-count="num" 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。
--user-agent="xxxxxxxx" 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果
--disable-plugins 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果
--disable-javascript 禁用JavaScript,如果觉得速度慢在加上这个
--disable-java 禁用java
--start-maximized 启动就最大化
--no-sandbox 取消沙盒模式
--single-process 单进程运行
--process-per-tab 每个标签使用单独进程
--process-per-site 每个站点使用单独进程
--in-process-plugins 插件不启用单独进程
--disable-popup-blocking 禁用弹出拦截
--disable-plugins 禁用插件
--disable-images 禁用图像
--incognito 启动进入隐身模式
--allow-outdated-plugins	不停用过期的插件。
--disable-accelerated-2d-canvas	停用 GPU 加速二维画布。
--disable-accelerated-video	停用 GPU 加速视频。
--disable-dart	停用 Dart。
--disable-desktop-notifications	禁用桌面通知,在 Windows 中桌面通知默认是启用的。
--disable-extensions	禁用拓展。
--disable-file-system	停用 FileSystem API
--disable-java	停用 Java。
--disable-local-storage	禁用 LocalStorage。
--proxy-server	使用给定的代理服务器,这个参数只对 http 和 https 有效。
--user-agent	使用给定的 User-Agent 字符串。

防检测

将浏览器navigator.webdriver重置为False
chrome.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => false
    })
  """
})
stealth.min.js解决常见的指纹检测

下载链接

with open('stealth.min.js') as f:
    js = f.read()

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": js
})
浏览器worker完美解决检测

创建有端口的浏览器
chrome.exe --remote-debugging-port=9222 --user-data-dir=“D:\chrometemp”
使用selenium控制该端口浏览器

options=webdriver.ChromeOptions()
options.debugger_address='127.0.0.1:9222'
driver=webdriver.Chrome(options=options)

SSLError OR JA3

最近遇到一个网站,用scrapy和request请求一直报SSLError,用postman可以正常请求,折腾了好久也没定位到问题所在,网上资料基本都试过,verify,headers,urllib3不报错,https改成http都不行,可能降低版本可以(项目原因不敢降低版本)
仔细思考一下,风控能够做到这一步,且有SSLError,大概率是ja3检测,后面使用Pyhttpx库能正常拿到数据

三方库使用具体可以参考蔡老板这篇博客
好库推荐|两个解决ja3检测的Python库,强烈推荐

逆向效率提升工具与方法汇总(持续更新...)_第4张图片

小试牛刀

chrome开发者工具设置中文

打开开发者模式,点击右侧设置按钮
在这里插入图片描述
偏好设置中找到语言下拉项即可
逆向效率提升工具与方法汇总(持续更新...)_第5张图片

调试代码如何友好格式化

偏好设置中把这四个勾上即可
逆向效率提升工具与方法汇总(持续更新...)_第6张图片

你可能感兴趣的:(爬虫讲解,前端,html,javascript,爬虫)