简单的js破解:通过python代码轻松实现
复杂的js破解:代码不容易重写,使用程序直接调用js运行获取结果
1. 两种常见js重写
- base64
- 特征:如果数据以==结尾,应该最先想到base64
- 对应python中的库:Base64
- md5
- 特征:如果数据是32位数字字母,应该想到md5
- 对应python库:hashlib
2. 复杂的js运行
- 使用python调用js方式
- PyV8
- 给予谷歌v8引擎, 最新版本是2010年的,不推荐使用
- Js2Py
- 纯python实现的解释器
- 性能不高,存在bug
- 对于大型高度混淆js会发生转化失败
- PyExecJs
- 用的比较多,多个引擎可选,推荐node.js,效率高
-
# 安装 # pip install pyexecjs # 测验使用 import execjs # print(execjs.get().name) # 简单示例 # jstext = """ # function add(a, b){return a+b;} # """ # # ctx = execjs.compile(jstext) # sum = ctx.call('add',1,2) # print(sum)
- PyminiRacer
- Selenium
- Pyppeteer
- PyV8
- 一种性能更高的调用方式
- 到底选择那种调用方式比较好
- 使用非浏览器存在的问题,解决办法