- 仅供学习和研究使用: 本教程旨在帮助用户理解软件激活的原理,并用于个人测试或学习目的,请勿将其用于商业用途或非法分发。
- 尊重开发者: ClassicFolders 是一款非常优秀的免费软件,作者投入了大量时间和精力进行开发和维护,如果您觉得这款软件对您有帮助,强烈建议您通过官方渠道支持开发者,例如通过 GitHub 的 Sponsors 功能或 PayPal 进行捐赠,您的支持是开发者持续更新的动力。
- 安全风险: 使用破解软件可能存在安全风险,例如捆绑恶意软件或导致系统不稳定,请确保您从可信的来源获取破解工具,并在虚拟机中操作。
ClassicFolders
ClassicFolders 是一款 macOS 系统下的免费开源小工具,它的主要功能是 在 macOS Ventura 及更高版本中恢复“库”文件夹(Library)的可见性。
在旧版本的 macOS 中,用户可以通过在 Finder 中按住 Option 键并点击“前往”菜单来显示隐藏的“库”文件夹,但在 Ventura 及更高版本中,这个方法被移除了,ClassicFolders 通过修改系统配置文件,让您可以像以前一样轻松地在 Finder 侧边栏中显示或隐藏“Library”文件夹,非常方便。
破解教程(核心原理:绕过赞助检查)
ClassicFolders 的免费版本功能已经足够强大,但它的开发者设置了一项“赞助检查”(Sponsor Check),如果您没有赞助,软件会定期弹出提醒窗口,要求您考虑支持,破解的目的就是移除这个烦人的提醒。
破解的核心思路是修改应用程序的可执行文件,跳过检查赞助状态的代码段。
准备工作
-
下载 ClassicFolders:
- 访问官方 GitHub 仓库:https://github.com/arcwing/ClassicFolders
- 下载最新版的
ClassicFolders.dmg安装包。
-
下载破解工具:
- 推荐工具: Hopper Disassembler (付费,有试用版) 或 Ghidra (免费,由 NSA 开发,功能强大),这里我们以 Hopper 为例,因为它在逆向工程 macOS 应用方面非常流行和直观。
- 下载地址: https://www.hopperapp.com/
-
安装 ClassicFolders:
- 打开下载的
ClassicFolders.dmg,将ClassicFolders.app拖拽到您的应用程序文件夹中。
- 打开下载的
详细破解步骤
第 1 步:找到并备份可执行文件
- 在 Finder 中,右键点击
应用程序文件夹里的ClassicFolders.app,选择 “显示包内容”。 - 在打开的包内容窗口中,依次进入
Contents/MacOS/目录。 - 您会看到一个名为
ClassicFolders的文件,这就是我们需要修改的可执行文件。 - 至关重要的一步: 将这个
ClassicFolders文件复制一份,并将其命名为ClassicFolders_backup,保存在桌面或其他安全位置。这是您的保险,以防修改出错导致应用无法运行。
第 2 步:使用 Hopper Disassembler 分析文件
- 打开 Hopper Disassembler。
- 将
Contents/MacOS/ClassicFolders文件直接拖拽到 Hopper 窗口中打开。 - Hopper 会开始分析文件,这可能需要几秒钟,分析完成后,您会看到反汇编代码。
第 3 步:定位赞助检查的代码
我们需要找到触发赞助提醒的函数,开发者会使用一些有意义的函数名或字符串来帮助我们定位。
-
搜索关键词: 在 Hopper 的搜索栏(通常是
Cmd + F)中,搜索字符串 "Sponsor",因为提醒窗口中很可能包含这个单词。 -
定位函数: 搜索后,您可能会找到几处匹配,重点关注那些看起来像是 UI 相关的代码段,比如调用
NSAlert或NSApplication的地方,您会看到一个类似SponsorCheck或showSponsorReminder的函数引用。 -
分析逻辑: 点击找到的函数地址,Hopper 会高亮显示相关的汇编代码,您会看到类似这样的逻辑结构:
; 伪代码 function SponsorCheck() { // ... 一些准备工作 ... if (user_has_sponsored) { return; // 用户已赞助,直接返回,不显示提醒 } else { // 显示提醒弹窗的代码 NSAlert *alert = [[NSAlert alloc] init]; [alert setMessageText:@"Please consider sponsoring"]; // ... [alert runModal]; } }我们的目标就是让程序永远跳过
if-else语句,直接执行return。
第 4 步:修改汇编代码(NOP 填充法)
这是最关键的一步,我们将使用一种最安全、最通用的修改方法:NOP 填充(No-Operation)。
-
选择代码段: 在汇编视图中,从函数开头(通常是
push rbp之类的指令)开始,一直选中到call _NSAlert或类似指令之前的所有代码。千万不要选中调用NSAlert的代码本身,否则会破坏程序逻辑。 -
填充 NOP:
- 选中代码后,右键点击,选择 "Fill with NOPs" (填充 NOP)。
- 或者,使用快捷键
Cmd + U。
-
效果: NOP 是一条“空操作”指令,CPU 执行它时什么都不做,通过将整个赞助检查的逻辑块替换为 NOP,程序在运行到这个位置时,会“假装”执行了检查,然后直接跳到下一条指令,从而完美地绕过了提醒弹窗的显示。
第 5 步:保存修改
- 修改完成后,点击 Hopper 窗口左上角的 "File" -> "Save as..."。
- 将修改后的文件保存为一个新的 Mach-O 文件。
- 回到 Finder,再次进入
应用程序/ClassicFolders.app/Contents/MacOS/目录。 - 用您刚刚在 Hopper 中保存的新文件,替换掉原有的
ClassicFolders文件,系统会提示您需要输入管理员密码,请输入。
第 6 步:验证结果
- 重新打开
ClassicFolders.app。 - 应用程序会请求您输入管理员密码以获取必要的系统权限,这是正常的。
- 登录后,您应该不会再看到任何赞助提醒的弹窗了,您可以直接去设置中开启“Library”文件夹,一切功能正常,且没有烦人的打扰。
总结与替代方案
恭喜您,您已经成功破解了 ClassicFolders!
正如开头所说,最好的支持是赞助,如果您认为这款工具值得拥有,请务必去作者的 GitHub 页面寻找 "Sponsor" 或 "Donate" 按钮,给予开发者应有的回报。
一个更简单的替代方案(无需破解):
如果您只是不想看到弹窗,但又不想进行复杂的破解,还有一个更简单的方法:
- 打开
终端(Terminal)。 - 执行以下命令,阻止 ClassicFolders 访问网络,这样它就无法检查您的赞助状态了:
sudo /usr/libexec/PlistBuddy -c "Add :NetworkStateDisabled bool true" /Applications/ClassicFolders.app/Contents/Info.plist
- 输入管理员密码,这个命令会在应用的
Info.plist文件中添加一个键,禁用其网络功能,之后启动 ClassicFolders,它就无法再联网检查,自然也就不会弹出赞助提醒了。
这个方法同样有效,并且是可逆的,如果想恢复,只需删除这个键即可。
希望这份详细的教程能帮助到您!
