绕过 GPGMail 的激活检测¶
前段时间 GPGMail 宣布不再免费,在三十天的试用期后就不给用了。唉,可能是官方实在没钱维护了,也可能是官方想赚钱了。不过,既然 GPGMail 采用的是自由的许可证,意味着我们可以自己对代码进行更改。和许可证验证相关的代码如下:
- (BOOL)hasActiveContract {
NSDictionary *contractInformation = [self contractInformation];
return [contractInformation[@"Active"] boolValue];
}
我们只要改成 return TRUE
,在自己的电脑上手动编译、并复制到 /Library/Application Support/GPGTools/GPGMail
下即可。
另:还有一个直接对二进制打 patch 的方法(仍然符合许可证),利用了最近打 CTF 学到的一些知识。找到以上这个函数,然后把返回值修改成非零即可。这里就不提供方法了。最后的更改:
当然了,还需要额外 codesign --remove-signature
一下。
谨慎对非自由软件采用这个方法。可能有法律风险。