CleanMyMac X 暴破(一)
发布于
缘起
CleanMyMac X应该是每个Mac用户耳熟能详的电脑清洁软件,以下简称CMM。我几天前用的是CMM 4.5.3版本,是在xx破解网站上搜索的TNT版本,结果今天一打开CMM发现,已经有了4.6.0版本的更新。与其到xx破解网站上搜破解版,不如自己再动手破解一遍,于是就有了这篇文章。我真的……一开始我也没想到这次破解会这么顺……
准备
CMM 4.6.0一枚;Hopper Disassembler v4一枚。
破解
查找线索
首先将CMM拖进Hopper。我先搜索了一波UI中的Strings。搜索无果后,尝试搜索vip register activate关键词,发现activate关键词有很多激活相关项。

我找到了四个方法,名为isAppActivated。我想,相比其他复杂的函数与方法,那是不是把这四个方法patch了,整个CMM就能用了呢?
然而我又发现了第一个方法 -[CMActivationManager isAppActivated]的伪代码调用了一个函数_mLyGsJNgru0iJKGfhK,并将这个函数的返回值(是int类型)赋予给了rax,而这个函数的内部逻辑很复杂,很可能就是验证激活的过程。
修改程序
接着上一个步骤,双击进入_mLyGsJNgru0iJKGfhK,打开伪代码模式,看着一长串的代码别着急,从程序入口开始,按照程序的goto走,顺藤摸瓜,最后return了一个rax——那简单,跳到汇编模式,直接:
mov rax, 0x1
ret
再打开伪代码,你会发现这个方法的伪代码已经变成:
int _mLyGsJNgru0iJKGfhK(int arg0) {
return 0x1;
}
这就对了!
留下足迹
为什么要有这一步,在我的CrossOver 19破解文章里已经说明了。在CMM中,我们要达到这样的效果:

注:这个窗口可以在程序顶栏 CleanMyMac X > 关于CleanMyMac里找到。
这段文字是一个.rtf,在/Applications/CleanMyMac X.app/Contents/Resources/zh-Hans.lproj/Credits.rtf。打开这个文件,在开头按格式添加上你的Credit,注意一点,这个文件开头的几个空行要保留,否则达不到CMM的滚动效果。
之后,就大功告成了!
BUG
- 使用时,应用缺少权限,即使已经在设置里设置了磁盘完全访问。