Hopper 的调试器服务器有什么作用?

逆向工程 调试器 调试 数据库 料斗 数据库
2021-06-14 18:10:47

Hopper 为标准程序提供了GDB/LLDB 调试器服务器伴侣。我不清楚这应该/可以用于什么。当我在使用的同一台机器上运行调试器服务器时,我看到:

在此处输入图片说明


实际上没有任何选项或内置帮助。当我打开Hopper.app的调试器面板时,我只能看到本地运行的程序。我最初认为远程调试器可能用于将某些处理卸载到另一台计算机,但我也尝试在局域网上的另一台 Mac 上运行 Hopper Debugger Server,但我没有看到它出现在列表中,只有我的本地机器:

在此处输入图片说明


由于没有指定远程连接信息的设置,我想我需要做一些远程操作来指定运行 Hopper 的机器的地址,以便它可以“拨入”然后显示在列表中。

我在 Hopper 网站、论坛和常见问题解答方面没有任何运气。

我错过了什么?

谁能给我一个关于如何使用 GDB/LLDB 远程调试器的简要概述
(与 Hopper)?

1个回答

我很惊讶没有人发布答案,但这是我最终意识到的:

很多时候,反汇编用于分解潜在的恶意应用程序,如病毒、蠕虫或恶意软件,以了解它们如何影响系统。静态和动态反汇编静态反汇编对您的系统构成(很小)威胁,因为它只是查看代码——但是动态反汇编实际上是在运行代码(带有断点等)——这可能是你不想在主计算机上做的事情,如果该代码可能是恶意的。

以下是 IDA 在有关反汇编“敌对”可执行文件教程中所说的内容

我们可以在那里放置一个断点,让程序运行。现在,在我们这样做之前,让我们重申一下,在您的计算机上运行不受信任的代码不是一个好主意。对于此类测试,最好使用单独的“沙箱”机器,例如使用 IDA 提供的远程调试工具。因此,当要在调试器下启动新文件时,IDA 会显示警告:忽略风险自负。

这最终可以解释为什么您可能想要使用远程调试器 - 现在看起来如此明显!

我仍然不确定如何设置和/或使用 Hopper 的远程调试器,但我相信我最终会弄清楚的。