📄 slept.cpp
字号:
//////////////////////////////////////////////////////////////////////
//
// Module: slept.dll
// Author: Galen C. Hunt
// Copyright: 1996-1999, Microsoft Corporation
//
// Version 1.2. (Build 35)
//
#define WIN32
#define NT
#include <windows.h>
#include "detours.h"
#include "slept.h"
LONG dwSlept = 0;
DETOUR_TRAMPOLINE(VOID WINAPI UntimedSleep(DWORD dwMilliseconds), Sleep);
VOID WINAPI TimedSleep(DWORD dwMilliseconds)
{
DWORD dwBeg = GetTickCount();
UntimedSleep(dwMilliseconds);
DWORD dwEnd = GetTickCount();
InterlockedExchangeAdd(&dwSlept, dwEnd - dwBeg);
}
DWORD WINAPI GetSleptTicks(VOID)
{
return dwSlept;
}
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD dwReason, LPVOID reserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
DetourFunctionWithTrampoline((PBYTE)UntimedSleep, (PBYTE)TimedSleep);
else if (dwReason == DLL_PROCESS_DETACH)
DetourRemoveWithTrampoline((PBYTE)UntimedSleep, (PBYTE)TimedSleep);
return TRUE;
}
//
///////////////////////////////////////////////////////////////// End of File.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -