我想为一个64位exe文件启动IDA调试器,但它失败了,尝试了更多示例,但结果始终相同。

这就是我要做的。


启动IDA Pro (64-bit)

从顶部菜单选择Debugger-> Run-> Local Windows Debugger。 />选择我的文件。 ,然后单击OK
此时,将收到这样的提示。 ,然后单击Yes
最后出现这样的错误:
然后此后:


它总是发生,有在我的实际计算机上的几个不同的VM上进行了尝试。我使用的是IDA v6.7.141229的完整版。

我认为必须进行一些配置,因为最后一个错误说明了有关错误参数的内容,有人可以建议吗?

评论

我现在无法检查,但是我想我记得,对于64位程序,您必须启动64位远程调试器并连接到该远程调试器,而不是直接调试文件。因此,“运行->本地Windows调试器”是错误的。手动启动win64_remotex64服务器,然后将IDA连接到它。

#1 楼

由于IDA是32位进程,因此它只能远程调试x64二进制文件(源)。

为此,您需要使用IDA X.X/dbgsrv/win64_remotex64.exe文件并启动调试器。调试器运行后,您可以“远程”连接到它并进行调试。您可以查看本教程以获取更多具体细节。

评论


唯一需要做的就是以管理员身份运行IDA,否则无论调试程序是否需要提升,它都不会起作用。

– ST3
15年11月30日在11:09

还需要注意的重要一点是,必须指定-64后没有空格的win64_remotex64密码。我知道,这是一种非常奇怪的方式。还要确保在客户端计算机上启动64位版本的IDA。还可以作为管理员。

–c00000fd
16年7月4日在7:26



如果收到套接字错误,请确保防火墙不会阻止连接和/或端口尚未使用。就我而言,我遇到了一个错误,不得不完全禁用COMODO防火墙

– MaKiPL
18年2月9日在18:57

#2 楼

我主要是为我自己写这本书,因为我厌倦了反复阅读。这是使用IDA Pro在本地计算机上调试x64进程的方法:

(1)使用以下命令创建.bat文件:

"C:\Program Files (x86)\IDA 6.5\dbgsrv\win64_remotex64" -Pnh8sy261


在这种情况下,它是win64_remotex64或远程调试器的位置,而nh8sy261只是一些随机密码。你选确保不要在-P参数和密码后面放置任何空格。

(2)以(1)的身份运行admin中的批处理文件。

(3)打开64位版本的IDA Pro以管理员身份使用。 (文件"C:\Program Files (x86)\IDA 6.5\idaq64.exe"

(4)选择Go自己工作。然后在空白的IDA Pro窗口中,在菜单中转到Debugger -> Run -> Remote Windows debugger。然后在Application中使用...按钮选择您的应用程序。如果需要,请指定调试对象参数和目录。然后在Hostname中添加127.0.0.1,将端口添加为23946,并在批处理文件中输入您在上面输入的密码:然后单击“确定”。

(5)此时,调试器应加载Save network settings as default进程,您应该能够逐步完成它。