📄 dbser.cpp
字号:
// DBSer.cpp : 定义 DLL 应用程序的入口点。
//
#include "stdafx.h"
#include "DBSer.h"
#include "AllMyInclude.h"
#ifdef _MANAGED
#pragma managed(push, off)
#endif
extern HANDLE Write_Mutex;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
////////////////////////////////////////////////
//-----------------建立全局互斥对象----------目的是防止多线程同时修改目标地址
Write_Mutex = ::CreateMutex( NULL, false, _T("GameGateIPChange"));
//::MessageBox( NULL,_T("DLL_PROCESS_ATTACH"),_T("提示"),NULL);
DetourGameEbx( 0x004047A3, 6,(DWORD)(DWORD_PTR)GetDomainNameAddr);
//DetourGame( 0x00408D0A, 5,(DWORD)(DWORD_PTR)DomainToIP);//0x00409BF2 , 6
DetourGame( 0x00409BF2, 6,(DWORD)(DWORD_PTR)DomainToIP);
//DetourGame(0x00408CF7, 5,(DWORD)(DWORD_PTR)CallWaitMutex);
//DetourGame(0x00409908, 6,(DWORD)(DWORD_PTR)ReleaseExMutex);
break;
case DLL_THREAD_ATTACH:
//::MessageBox( NULL,_T("DLL_THREAD_ATTACH"),_T("提示"),NULL);
break;
case DLL_THREAD_DETACH:
//::MessageBox( NULL,_T("DLL_THREAD_DETACH"),_T("提示"),NULL);
break;
case DLL_PROCESS_DETACH:
//::MessageBox( NULL,_T("DLL_PROCESS_DETACH"),_T("提示"),NULL);
::CloseHandle( Write_Mutex );
break;
}
return TRUE;
}
#ifdef _MANAGED
#pragma managed(pop)
#endif
// 这是导出变量的一个示例
DBSER_API int nDBSer=0;
// 这是导出函数的一个示例。
DBSER_API int fnDBSer(void)
{
return 42;
}
// 这是已导出类的构造函数。
// 有关类定义的信息,请参阅 DBSer.h
CDBSer::CDBSer()
{
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -