Surge Mac 3 无限试用方案

Surge Mac 3 无限试用方案

  1. 下载官方的试用版本,放到任意文件夹中
  2. 启动,选择试用,并进去主界面,然后退出
  3. 在同文件夹新建surge.sh,并给x权限,内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/env bash

    cd $(dirname "$0")

    read -sp "Password: " pwd
    echo

    echo "${pwd}" | sudo -S date 010110002010
    nohup ./Surge\ 3.app/Contents/MacOS/Surge\ 3 &
    sleep 2
    echo "${pwd}" | sudo -S sntp -sS time.apple.com.
  4. 运行这个脚本,输入你的开机密码来启动Surge

附加内容

我尝试并找到了其试用期保存的文件,但内容中有签名,于是就放弃尝试修改了

这个文件在: ~/Library/Application Support/com.nssurge.surge-mac

查看方式为: xattr -l ~/Library/Application\ Support/com.nssurge.surge-mac

会看到类似这样的信息:

1
com.nssurge.surge-mac.nsa.3: {"policy":"eyJkZXZpY2VJRCI6ImMxYyoqKioqKioqKioqKioqKioqKioqKioqKioqMDc2IiwidHlwZSI6InRyaWFsIiwiZXhwaXJlc09uRGF0ZSI6MTU2MDA4NjQ0MiwiaXNzdWVEYXRlIjoxNTU4ODg4ODg4fQ==","sign":"srtc*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************TA=="}

Base64解码policy后内容如下:

1
{"deviceID":"c1c**************************076","type":"trial","expiresOnDate":1560086442,"issueDate":1558888888}

有兴趣也有能力的大佬可以尝试下破解

思路大概有下面几种:

  1. 替换证书,然后自己签一个几十年后的过期时间
  2. 让软件检测到错误的机器码,并清除这个目录的附加信息,这样软件会重新去服务器查询过期时间,且可以重新试用14
  3. 让软件检测到错误(过期时间前)的时间,从而避免修改系统时间