逆向工程(反编译)OSX 中的 hackme 挑战 .exe 文件

信息安全 应用安全 苹果系统 逆向工程 编程
2021-08-23 19:19:41

我是逆向工程领域的新手,能够在我的 OSX 中反编译 .exe 文件是一件很痛苦的事情。

有谁知道一个好的 OSX .exe 反编译器,或者任何关于我在哪里可以找到的提示?我是否有任何概念上的错误,例如“事物不存在”?:P 谷歌对此感到非常困惑。

顺便说一句,我知道这些应用程序可能有非法应用程序,但也有非常合法的应用程序(我猜这个网站没有什么新东西:P)就我而言,我只是想学习一点逆向,我需要这个反编译器通过某些级别的在线战争游戏(或者,至少,我认为是这样)。具体来说,这个:http ://www.yashira.org/index.php?mode=Retos&resp=inforeto&level= 126(西班牙语)

非常感谢您的时间!:D

编辑: @YoavAner 让我看到链接页面需要登录(谢谢,@YoavAner :D)。如果您对兵棋推演(或特别是此关卡)感兴趣,则需要注册才能访问关卡。

4个回答

GNU binutils包括objdump可以将可执行文件反汇编成人类可读或至少程序员可读的汇编源代码的实用程序。无论工具本身在什么架构上运行,它都可以对它编译的任何受支持的目标执行此操作。特别是,.exe即使在 MacOS X 上运行,它也可以反汇编 Windows 文件。

(安装 GNU binutils 并支持许多二进制目标,不仅是工具实际运行的目标,还需要下载 GNU binutils 的源代码,并使用适当的跨目标选项重新编译它。文档包括在内。可以用反汇编的二进制文件做任何事情应该能够轻松地完成这样的任务。)

当然,反汇编只是逆向工程的第一步。第二步是在大脑中进行大量的艰苦思考。

注意:我在这里假设它.exe是一个 Windows二进制文件,带有 x86 操作码。如今,它也可能是一个 .NET 程序集,即不是 x86 操作码,而是CIL在这种情况下,您将需要使用这些特定的反汇编程序。它仍然适用于 MacOS X,并且仍然是开源和免费的。你仍然需要考虑很多。

IDA Pro被广泛认为是二进制软件的最佳静态分析软件。它也支持调试,但在这个领域,其他工具(Immunity DebuggerollydbgWinDbg等)在各种场景下可能会更好。由于您无意(也不能)执行和调试二进制文件,因此我们不必担心。

除了 Windows 之外,IDA的最新版本还支持 Linux 和 Mac OS X(从 6.0 版开始)。对你来说不幸的是,它有点贵。有一个免费的非商业用途下载,但它是 5.0 版本,并且只能在 Windows 上运行。

但是,您可以下载IDA 6.3 的评估版它有几个限制,对您来说最关键的是:您将无法保存您的工作,使用一段时间后会超时,不会自行拆卸。” 但是尝试了一段时间后,与这里推荐的其他工具相比,您可能会发现它值 500 美元(除非您想要 64 位支持,然后价格翻倍)。

IDA 是您问题的答案,因为您没有指定您只想要免费的解决方案。下面给出了几个反汇编程序列表。许多都是免费的,比如REC Studio 4,Shadok 在他的回答中提到,但它们都没有接近 IDA。

我对您的问题有点困惑...在您的情况下,逆向工程意味着执行二进制文件以理解它,因此您必须在 MacOsX 上执行 .exe 文件。

所以首先,你应该看看 DarWine(MacOSX 的 Wine),Wine 是一个替代的 Win32 环境,它可以执行你的 .exe 文件。之后,您可以像在 Windows 上一样附加调试器(OllyDbg、Ice...)(不要忘记查看您的游戏与 wine appdb 上的 wine 的兼容性)。

顺便说一句,我建议你通过破解一些更简单的软件来学习逆向工程(看看谷歌上的黑客挑战,有很多)。因为现实生活中的软件有点困难。

你应该看看赛门铁克的这两篇文章:
逆向工程恶意代码
外星人尸检:逆向工程 Linux 上的 Win32 木马

这两篇文章中使用的工具是基本的 GNU 工具(diff、grep、hexedit...)、Wine、gdb 和 IDA Pro(免费软件版本)。
您可能感兴趣的另外两个工具是REC StudioNASM

以上所有工具都支持 OSX。