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

📄 exitwindll.cpp

📁 Cracker终结者——提供最优秀的软件保护技术
💻 CPP
字号:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ApiHooks.h>

API_HOOK ApiHookChain[];

typedef BOOL (WINAPI *TExitWindowsEx)(UINT, DWORD);
BYTE ExitWindowsExSpace[32];
TExitWindowsEx OldExitWindowsEx = (TExitWindowsEx)&ExitWindowsExSpace;

TExitWindowsEx OrgExitWindowsEx = NULL;


BOOL WINAPI NewExitWindowsEx(UINT uFlags, DWORD dwReserved) {
  if(MessageBoxA(NULL, "Exit Windows?", "ExitWindowsEx", MB_YESNO | MB_ICONQUESTION) == IDYES) {
    if(ApiHookChain[1].dwFlags & HOOK_OVERWRITE)
      return(OldExitWindowsEx(uFlags, dwReserved));
    else
      return(OrgExitWindowsEx(uFlags, dwReserved));
  }
  else
    return(FALSE);
}  

API_HOOK ApiHookChain[3] = {
  {HOOKS_DYNAMIC},
  {"USER32.DLL", "ExitWindowsEx", HOOK_ALL_SAFE | HOOK_HARD, &OldExitWindowsEx, NULL, NewExitWindowsEx},
  {HOOKS_END}
};

__EXPORT PAPI_HOOK WINAPI GetApiHookChain(DWORD CallerPID) {
  if(OrgExitWindowsEx == NULL)
    OrgExitWindowsEx = ExitWindowsEx;
  if(ApiHookChain[1].dwFlags & HOOK_OVERWRITE)
    return(NULL);
  else
    return(ApiHookChain);
}

⌨️ 快捷键说明

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