我有一个急需的 rar 文件,它的密码被保存为一个不再存在的网站上的文件 :(。
我在 mac osx 10.5.8 上运行它,以前从未使用过终端,但我已经弄清楚了足够多的内容,直到它说使用“make”并且总是给出错误。
-bash: make:command not found
我确实弄清楚了如何使用终端来提取 tar 文件 ^_^
我不明白要求是什么,所以我决定得到一个它说是必需的 C 编译器,所以我安装了 Tiny C 编译器,然后尝试安装比 2.4 更新的 glibc 版本(至少这是我理解的 > glibc 2.4 要求!)但是每次我尝试配置它时,它一直在控制台中给我一个错误,说一些类似于没有编译器的东西。
我该去哪里呢?经过一番研究,我发现此链接安装 GCC,我猜它也是一个编译器?我甚至不知道从链接中得到什么……从我对正则表达式和 POSIX 的了解来看,pthreads 只是 posix 线程,而且因为我运行的是 mac,所以我不应该下载或安装任何东西,对吧?我还必须安装 libxml2,我发现这里。我安装它的方式和安装 glibc 的方式一样吗?
抱歉,实际上有很多问题 :(
另外,抱歉,我无法找出确切的错误,因为我在工作,而不是在家里的电脑上。
答案1
在 Mac OS X 上,Apple 发布了 (GNU 编译器集合) 工具链的定制版本GCC
以及其集成开发环境 (IDE),称为XCode
。
XCode 是一个图形用户界面,可用于构建一些支持 XCode 构建系统的软件。但是,使用与 XCode 一起安装的 GCC 版本并不需要使用 XCode 本身。可以将 XCode 视为 GCC 的一个可选图形前端,只有当您尝试编译旨在使用 XCode 构建的项目时,它才是必需的。
Apple 随 XCode 提供的 GCC 编译器支持多种原生编程语言。其中之一就是 C。这样就解决了您的 C 编译器问题。
安装 XCode 后,您应该能够gcc
从终端运行该命令而无需执行任何其他操作。 尝试一下;只需运行gcc
。 它应该显示:
gcc:没有输入文件
或类似的东西。如果它这样说,那么你知道你至少取得了进展;现在,你有了一个 C 编译器。
并且不需要安装或担心 Tiny C 编译器。
安装完成后gcc
,运行make
至少可以让你更进一步。如果rarcrack
的构建系统抱怨你没有安装某些依赖项,你将不得不从源代码编译这些依赖项,或为它们安装预构建的开发库。
构建系统可能会尝试通过多种方式告诉您缺少依赖库,其中一些是相当神秘的消息,例如“未定义符号 blah blah”或“:没有这样的文件或目录”。如果您看到这些类型的错误,通常是编译器试图告诉您缺少依赖项;相比之下,更友好的构建系统(rarcrack 似乎没有)会优雅地发出类似以下的抱怨:
检查 LIBXML2...否
出错的可能性是无限的,但学会识别错误信息中的模式并进行分析,或者至少当您在 SuperUser / StackOverflow 上提问时发布确切的错误消息,将会让你走得更远。
至于rarcrack
它本身,它依赖于 GLib 2.0。嗯,不是确切地2.0 版,但至少开始前面有一个“2”。因此,它与“2.x 系列”的最新稳定版本配合使用的效果与与早期版本配合使用的效果一样好。换句话说,您希望使用 2.x 系列中可以找到的最新版本的 GLib。那就是这个:这里是 GLib“2.32 系列”的下载。您需要下载它声称的最新版本,截至撰写本文时是 2.32.4。如果您读到这篇文章时有 2.32.5 或更高版本,请改为获取该版本。如果您在 2.34 系列发布后阅读这篇文章,您可能还想查看 2.34 系列(如果您想避免麻烦,请不要使用奇数系列,因为那些是不稳定的版本)。
不幸的是,GLib 依赖于很多东西,因此您必须希望找到 GLib 及其所有依赖项的现有版本,否则就从源代码编译它们。但与其从源代码编译,不如签出 Macports 或 Fink 来为您提供二进制文件,这样就不用费心了。
答案2
今天我想要一个小型的 .rar/.zip 密码破解程序,然后遇到了 Rarcrack。
请查看我在 Github 上的 repo:
https://github.com/jaredsburrows/Rarcrack
原始代码在这里:
http://rarcrack.sourceforge.net/
基本上,Mac OSX 版本的 GCC 不喜欢使用原始代码中的许多内联函数。我删除了内联函数,使其成为普通函数,并进行了一些其他小改动,使其能够编译。我通过对提供的示例运行 rarcrack 来检查它是否有效。
如果有帮助的话请告诉我!