一个简单的反向应用程序不会运行,总是加载 ntdll 的代码并终止应用程序

逆向工程 ollydbg
2021-06-13 12:29:45

我在ollydbg 中打开了一个简单的reverse me windows 应用程序,然后它显示了“ntdll”的代码。由于我想查看代码并运行“ReverseMe”,我双击了“可执行模块”窗口中的“ReverseMe”。然后它显示了“ReverseMe”的代码。但是当我单击“运行”按钮时,它运行“ntdll”,我在“ReverseMe”的第二行放置了一个断点,但它仍然运行“ntdll”,然后在大约 600 毫秒后终止,当我单击“ “可执行模块”窗口下的“条目”选项卡,它显示“条目”是“ntdll”如何将条目设置为“Reverseme”或者如果它无法更改或ntdll是强制入口点,那么建议我一种方法运行“ReverseMe”。而且由于我在“ReverseMe”的最开始处放置了一个断点,因此它不能成为“ReverseMe”程序代码的退出过程。但它实际上首先运行 ntdll。

编辑:记录数据

Address    Message
           OllyDbg v1.10

           File 'D:\Other\Reverse Engineering\studying.reversing.OLLY.debugger.video.tutorials\tutorials\snd-reversingwithlena-tutorial01.tutorial\files\reverseMe.exe'
           New process with ID 000000AC created
00401000   Main thread with ID 00001E60 created
77CEC6D0   New thread with ID 00000738 created
77CEC6D0   New thread with ID 000013D0 created
00400000   Module D:\Other\Reverse Engineering\studying.reversing.OLLY.debugger.video.tutorials\tutorials\snd-reversingwithlena-tutorial01.tutorial\files\reverseMe.exe
             CRC changed, discarding .udd data
6FAF0000   Module C:\WINDOWS\system32\apphelp.dll
72280000   Module C:\WINDOWS\SYSTEM32\DAVHLPR.DLL
72290000   Module C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.10586.0_none_811bc0006c44242b\COMCTL32.DLL
749E0000   Module C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
749F0000   Module C:\WINDOWS\SYSTEM32\SspiCli.dll
74BC0000   Module C:\WINDOWS\SYSTEM32\kernel.appcore.dll
74BD0000   Module C:\WINDOWS\SYSTEM32\shcore.dll
74C60000   Module C:\WINDOWS\SYSTEM32\COMDLG32.dll
74DF0000   Module C:\WINDOWS\SYSTEM32\bcryptPrimitives.dll
74F70000   Module C:\WINDOWS\SYSTEM32\SHELL32.dll
763D0000   Module C:\WINDOWS\SYSTEM32\SHLWAPI.dll
76420000   Module C:\WINDOWS\SYSTEM32\msvcrt.dll
76770000   Module C:\WINDOWS\SYSTEM32\ADVAPI32.dll
76850000   Module C:\WINDOWS\SYSTEM32\RPCRT4.dll
76920000   Module C:\WINDOWS\SYSTEM32\profapi.dll
             Invalid or compressed Image Export Directory
76930000   Module C:\WINDOWS\SYSTEM32\USER32.dll
76A80000   Module C:\WINDOWS\SYSTEM32\sechost.dll
76AD0000   Module C:\WINDOWS\SYSTEM32\combase.dll
76D80000   Module C:\WINDOWS\SYSTEM32\KERNEL32.DLL
76E60000   Module C:\WINDOWS\SYSTEM32\KERNELBASE.dll
77090000   Module C:\WINDOWS\SYSTEM32\GDI32.dll
775F0000   Module C:\WINDOWS\SYSTEM32\powrprof.dll
776A0000   Module C:\WINDOWS\SYSTEM32\cfgmgr32.dll
776E0000   Module C:\WINDOWS\SYSTEM32\FirewallAPI.dll
77740000   Module C:\WINDOWS\SYSTEM32\windows.storage.dll
77CA0000   Module C:\WINDOWS\SYSTEM32\NETAPI32.dll
77CC0000   Module C:\WINDOWS\SYSTEM32\ntdll.dll
74A10000   Module C:\WINDOWS\SYSTEM32\IMM32.DLL
           Debugged program was unable to process exception
           Thread 00001E60 terminated, exit code 4000001E (1073741854.)
           Thread 000013D0 terminated, exit code 4000001E (1073741854.)
72170000   Module C:\WINDOWS\SYSTEM32\fwbase.dll
           Process terminated, exit code 4000001E (1073741854.)
1个回答

默认情况下,第一个断点始终是 System Breakpoint

选择options (ALT+O)
选择Start from Debugging
选择radio button Entry point of main module
在启动应用程序组

现在 ollydbg 将打破 PeHeader->EntryPoint

在此处输入图片说明

评论编辑于

您编辑的日志显示该进程因 4000001E wow64 单步异常而终止,您正在混合一些 x64 / x32 我的 odbg 版本是最新的 v 2.01 早期版本 1.10 在lates os 中运行时出现问题,仅适用于 xpsp3