03.调用js执行代码

  简单的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  
  • 一种性能更高的调用方式
  • 到底选择那种调用方式比较好
  • 使用非浏览器存在的问题,解决办法

    

猜你喜欢

转载自www.cnblogs.com/zhangjian0092/p/12243812.html
03.
今日推荐