微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ntdll 代码的 WinDbg 反汇编中连续许多 int3 的目的是什么?

如何解决ntdll 代码的 WinDbg 反汇编中连续许多 int3 的目的是什么?

我正在学习组装和组装后:

format PE64 NX GUI 6.0
entry start

section '.text' code readable executable
start:
        int3
        ret

在我的调试器中运行(在 OS 加载程序代码的末尾以及)我看到

...
00007fff`bc78070d 4889442428         mov     qword ptr [rsp+28h],rax
00007fff`bc780712 488364242000       and     qword ptr [rsp+20h],0
00007fff`bc780718 e8cf90f9ff         call    ntdll!RtlStringCbPrintfExW (00007fff`bc7197ec)
00007fff`bc78071d 488b8c24e0010000   mov     rcx,qword ptr [rsp+1E0h]
00007fff`bc780725 4833cc             xor     rcx,rsp
00007fff`bc780728 e813bbfbff         call    ntdll!_security_check_cookie (00007fff`bc73c240)
00007fff`bc78072d 4881c4f0010000     add     rsp,1F0h
00007fff`bc780734 5b                 pop     rbx
00007fff`bc780735 c3                 ret     
00007fff`bc780736 cc                 int     3
00007fff`bc780737 cc                 int     3
00007fff`bc780738 cc                 int     3
00007fff`bc780739 cc                 int     3
00007fff`bc78073a cc                 int     3
00007fff`bc78073b cc                 int     3
00007fff`bc78073c cc                 int     3
00007fff`bc78073d cc                 int     3
00007fff`bc78073e cc                 int     3
00007fff`bc78073f cc                 int     3
    ntdll!LdrpDoDebuggerBreak:
00007fff`bc780740 4883ec38           sub     rsp,38h
00007fff`bc780744 488364242000       and     qword ptr [rsp+20h],0
00007fff`bc78074a 41b901000000       mov     r9d,1
00007fff`bc780750 4c8d442440         lea     r8,[rsp+40h]
00007fff`bc780755 418d5110           lea     edx,[r9+10h]
00007fff`bc780759 48c7c1feffffff     mov     rcx,0FFFFFFFFFFFFFFFEh
00007fff`bc780760 e84bcbfcff         call    ntdll!NtQueryinformationThread (00007fff`bc74d2b0)
00007fff`bc780765 85c0               test    eax,eax
00007fff`bc780767 780a               js      ntdll!LdrpDoDebuggerBreak+0x33 (00007fff`bc780773)
00007fff`bc780769 807c244000         cmp     byte ptr [rsp+40h],0
00007fff`bc78076e 7503               jne     ntdll!LdrpDoDebuggerBreak+0x33 (00007fff`bc780773)
00007fff`bc780770 cc                 int     3
...

有人可以解释连续多个 int3 的目的是什么吗?它让我想起了 nop 幻灯片,但我无法想象为什么您需要使用调试命令来做这样的事情。或者这只是不好的拆卸?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。