我正在解决leena的第4个二进制挑战。但是ollydbg无法在大约400000或以上的入口处停止。应用程序停止工作并以大约700000开头
检查下面的图像


如果关闭应用程序,它将在700000地址处停止。检查下图

我已经将olydbg的调试配置检查为以下设置。

现在,如果有人告诉我如何解决这个问题,那会很棒。如果此配置错误,请告诉我。我使用的是ollydbg v1.10

评论

为什么不尝试2.0?看来它正确停止在@ 402950

#1 楼

OllyDbg已在ntdll!RtlUserThreadStart处停止执行,该位置几乎像“系统断点”,这是操作系统用来中断程序的位置,以便调试器可以执行其工作-但不完全在此。
NTDLL内部,您无所畏惧。

我相信OllyDbg中存在一个错误(或我不知道的配置),该错误在RtlUserThreadStart中中断,尽管您的设置被设置为在程序进入时首次中断。 RtlUserThreadStart是每个线程的入口点,因此我想知道Olly是否会碰到这个(并非完全如此)系统断点,即使它没有配置为这样做。

OllyDbg v2和x64dbg都没有此问题,除非您在其他位置进行配置,否则它们会按预期中断程序的入口点。
例如,下面是它在Ollydbg版本2上加载:



这是配置为在系统断点处中断时的外观:



可以使用Alt + O >>调试>>进行配置,然后在“启动应用程序时,首先在”处暂停”下的“系统断点”进行检查。

看到,程序在另一个地址上中断,该地址被视为系统断点。

x64dbg在此地址中也中断:

无论如何,在您的情况下,在OllyDbg v1中按F9或Run将带您到程序的入口点。

我强烈建议使用x64dbg这是一个活跃的开源项目,与Ollydbg绝对过时的不同。

以下是一些资源:


x64dbg主网站

项目的Github存储库

x64dbg的文档


评论


+1推荐x64dbg。我猜想使用Olly的要点是Lena的tut包含Olly中要遵循的步骤,但可能可以在其他工具中几乎一对一地使用它们。

–PawełŁukasik
17年9月26日在20:05

@Megabeets ntdll.77B2746D如何转换为ntdll!RtlUserThreadStart。谢谢

– Deo博士
17年3月3日,0:33