能力值:
( LV5,RANK:60 )
|
-
-
2 楼
太客气了,不明白你想说什么
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
以下是我代碼的內容,請各位前輩給予指教,謝謝
EXCEPTION_DISPOSITION myHandler(
_EXCEPTION_RECORD *ExcRecord,
void * EstablisherFrame,
_CONTEXT *ContextRecord,
void * DispatcherContext)
{
if(ExcRecord->ExceptionCode == 0x80000004)
{
printf("Single Step Exception\n");
ContextRecord->EFlags |= 0x100;
}
if(ExcRecord->ExceptionCode == 0xC0000005)
{
printf("Access Violation Exception\n");
}
return ExceptionContinueExecution;
}
void bar()
{
unsigned char *point;
unsigned char buf[] =
// 一串亂數的Hex
"\x11\x11\xaa\x82\x4a\x11\x11\x11\x2f\x10\x11\x11\x11\x94";
point = buf;
EXCEPTION_REGISTRATION reg, *preg = ®
reg.handler = (DWORD)myHandler;
DWORD prev;
__asm
{
mov EAX, FS:[0]
mov prev, EAX
}
reg.prev = (EXCEPTION_REGISTRATION*) prev;
__asm
{
mov EAX, preg
mov FS:[0], EAX
}
__asm
{
pushfd
pushfd
or dword ptr [esp],0x100
popfd
jmp point
}
}
int _tmain(int argc, _TCHAR* argv[])
{
printf("Hello World\n");
bar();
return 0;
}
|
|
|