简单程序在 ntdll 中的某处暂停

逆向工程 ollydbg C
2021-06-29 01:32:17

下面是我写的一个简单的程序,用于在 OllyDbg 中调试:

main(){
    exit(0);
}

我编译了程序并在 OllyDbg 中打开它。程序在 ntdll 中某个奇怪的位置暂停。我进入了选项并在入口处设置了一个断点。程序仍然在 ntdll 中的相同位置暂停。然后我在 main 处设置了一个断点。它仍然在 ntdll 中的某个位置暂停。

我在这里做错了什么?

1个回答

第一个中断点总是系统断点。

如果您不希望 Ollydbg 在系统断点处停止 goto 选项。

Alt+ o-> 事件并将 make first pause at 更改为 Main 模块的 EntryPoint

如果,一个父进程以创建一个子DEBUG_XXXX标志应该知道什么时候该进程初始化已经完成这么一个所谓的通知ProcessCreate DebugEvent中提出DbgBreakPointntdll.dll是其中的一部分DebugEvent Notification,通常称为SystemBreakPoint

您使用的是哪个版本的 Ollydbg 1.10 或 2.01,是否加载了插件?只有一个出口一个简单的可执行要么停止System BreakPointWinMainCrtStartupmain()只没有任何其他地方。