如何使用windbg进入入口点

时间:2012-11-14 21:31:41

标签: assembly windbg

嗨,我在理解如何使用windbg时遇到一些麻烦。到目前为止,我只使用IDA pro free和ollydbg来读取由cl.exe(visual studio编译器)生成的程序集,这是我想用windbg代替的。我没有向我的程序添加任何调试信息,我只是想看看程序集。基本上我遇到的问题是我无法进入我的可执行文件的入口点。加载可执行文件后,windbg打印出一些关于没有找到符号文件的警告,我不在乎,因为断点不会让我到任何地方我决定只是通过重复“跳过”几次到达那里(这是“p”对吗? )。调试从ntdll中的某些高地址开始,经过几步后,它在调用NtContinue并且“没有debugee错误”后停止调试。谢谢,stu。

2 个答案:

答案 0 :(得分:9)

$exentry当前进程的第一个可执行文件的入口点的地址。注意:如果您使用CRT,那么这将是最终调用您的主电源的CRT主电源。

因此请尝试u $exentry开始反汇编。你最终会找到调用你的主要的呼叫指令。

答案 1 :(得分:1)

您仍应修复符号:

.symfix;.reload

然后,如果您想要反汇编,请使用ua命令。

您可以按

列出所有导出的符号(如果您有正确的pdbs)
x myDLL!*

您需要的不仅仅是上述内容吗?