-
-
[求助] 为何 winxpsp3 下 _ASM INT 3 会发生中断异常?
-
发表于:
2020-6-27 17:52
2408
-
[求助] 为何 winxpsp3 下 _ASM INT 3 会发生中断异常?
作为看雪新注册用户,无法在逆向区提问,只好先把问题贴在这里。
一段c代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char shellcode[]= "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90";
void test(char * input)
{
char str[200];
strcpy(str,input);
int zero=0;
zero=1/zero;
}
void main()
{
char * buf=(char *)malloc(500);
__asm int 3
strcpy(buf,shellcode);
test(shellcode);
}
这段代码很简单,在windows xp中使用vs2008编译链接后,执行会引发中断(__asm int 3),我使用olldbg或x32dbg作为JIT调试器。当中断发生时,点击debug可以转入调试器,但想从INT 3处向下运行却无法实现。即下列机器码无法向下执行,程序止步于INT 3 处,希望高手帮忙解答一二,十分感谢。
00401065 | CC | int3 | demo.cpp:35
00401066 | 68 00304000 | push <1104.char * shellcode> | demo.cpp:36
0040106B | 8B45 FC | mov eax,dword ptr ss:[ebp-4] |
0040106E | 50 | push eax
...
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课