0x00 原理

就不班门弄斧了,分析见[MacOS逆向] Paddle激活类Mac应用通杀

0x01 如何激活

  • 直接在抓包的时候修改返回包
  • 编写抓包工具插件,自动化修改返回值
  • 推荐使用mitmproxy(编写插件比较简单)
  • hook的方式

0x02 mitmproxy-addon

FuckPaddle.py

class FuckPaddle:
    def response(self,flow):
        '''返回值接收之前'''
        if flow.request.pretty_url.find('/3.2/license/activate') != -1:
            product_id = flow.request.urlencoded_form.get_all('product_id')[0]
            resp_str = '{"success":true,"response":{"product_id":"' +product_id+ '","activation_id":"admin","type":"personal","expires":1,"expiry_date":9999999999999}}'
            flow.response.content = resp_str.encode("utf-8")

addons = [FuckPaddle()]

插件使用方法:mitmdump -s FuckPaddle.py --listen-host 127.0.0.1 -p 10086 -k

命令中的端口可以自己改,然后就将指定的应用转到对应的代{过}{滤}理端口上就可以了。

0x03 已知Paddle激活应用

  • AirBuddy
  • Downie 4
  • Lunar
  • Unite 4

0x04 参考