⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getsehaddr.cpp

📁 这个程序很小
💻 CPP
字号:
// GetSEHADDR.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdio.h> 
#include <windows.h> 
#include <conio.h>
#include <ctype.h>

void main() 
{
	__asm
{
	mov eax, fs:[00000000h];//取得Exception Register的入口地址	
loc_03:
	cmp eax, 0ffffffffh
	jz loc_14
	mov ebx, eax
	mov eax, [eax];//[eax]为pre//[eax+4]为handler
	jmp loc_03
loc_14:
	xor bx, bx
loc_6c:
	cmp word ptr [ebx], 5a4dh;//MZ
	jnz loc_81
	mov eax, [ebx+003ch]
	cmp dword ptr [eax + ebx], 4550h;//PE
	jz loc_89
loc_81:
	sub ebx, 00010000h
	jmp loc_6c
loc_89:
}
/*
    unsigned int sehaddr; 
    int *un; 
    HMODULE hk = LoadLibrary("KERNEL32.dll"); 
    un = (int *)GetProcAddress(hk,"SetUnhandledExceptionFilter"); 
    _asm{ 
        mov eax,un 
        add eax,5 
        mov ebx,[eax] 
        mov sehaddr,ebx 
    } 
    printf("the top seh: 0x%x\r\n",sehaddr); 
    _getch(); 
*/
    return; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -