資源簡介
VC的輸入法注入源代碼,可用于有注入保護的游戲

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#pragma?comment(lib“imm32.lib“)
//窗口類名
#define?CLSNAME_UI _T(“DLLISUI“) //UI
#define?CS_INPUTSTAR (CS_VREDRAW?|?CS_HREDRAW?|?CS_DBLCLKS)
#pragma?data_seg(“mysechx“)
DWORD?CallBackData1=0;
DWORD?CallBackData2=0;
DWORD?CallBackData3=0;
DWORD?onloadDllWhenExit=0;????//?當輸入法退出時是否卸載客戶DLL??0-是,1-否
DWORD?LoadNextWhenActive=0;????//?當本輸入法激活時,是否自動打開下一個輸入法?0-否,1-是
WCHAR?g_IMEDLLString[802]={‘\0‘};
#pragma?data_seg()
typedef?DWORD?(CALLBACK?*?RUNDLLHOSTCALLBACK)(DWORD?calldata1?DWORD?calldata2DWORD?calldata3);
HMODULE?CilentDLL=NULL;
RUNDLLHOSTCALLBACK?RunDllCallBackX=NULL;
//?先定義好各種函數
BOOL?ImeClass_Register(HINSTANCE?hInstance);
void?ImeClass_Unregister(HINSTANCE?hInstance);
LRESULT?WINAPI?UIWndProc(HWND?hUIWndUINT?messageWPARAM?wParamLPARAM?lParam);
BOOL?MyGenerateMessage(HIMC?hIMC?UINT?msg?WPARAM?wParam?LPARAM?lParam);
void?MyLoadCilentDLLFun()
{
if?(CilentDLL==NULL)
{
??if?(wcslen(g_IMEDLLString)>0)
??{
??CilentDLL=LoadLibraryW(g_IMEDLLString);???//?在輸入法加載時同時加載客戶DLL
??if?(CilentDLL!=NULL)
??{
??//?如果存在,則調用客戶DLL指定名稱的回調函數
??RunDllCallBackX=(RUNDLLHOSTCALLBACK)GetProcAddress(CilentDLL“RunDllHostCallBack“);
??if?(RunDllCallBackX!=NULL)
??{
??RunDllCallBackX(CallBackData1CallBackData2CallBackData3);
??}
??}
??}
}
}
BOOL?WINAPI?DllMain(HINSTANCE?hinstDLLDWORD?fdwReasonLPVOID?lpvReserved)
{
???switch(fdwReason)
????{
??????case?DLL_PROCESS_ATTACH:
??if(!ImeClass_Register(hinstDLL))?return?FALSE;???//?DLL加載時注冊必須的UI基本窗口類
??MyLoadCilentDLLFun();
??break;
??case?DLL_THREAD_ATTACH:
?break;
??case?DLL_THREAD_DETACH:
?break;
??????case?DLL_PROCESS_DETACH:
??ImeClass_Unregister(hinstDLL);??//?DLL退出時注銷注冊的窗口類
??if?(CilentDLL!=NULL?&&?onloadDllWhenExit==0)
??{
??FreeLibrary(CilentDLL);????//?輸入法退出時卸載客戶DLL
??}
????????break;
??????default:
????????break;
????}
return?true;
}
int?WINAPI?IMESetPubString(PWCHAR?tmpStrDWORD?UnloadDLLDWORD?loadNextImeDWORD?DllData1DWORD?DllData2DWORD?DllData3)
{
CallBackData1=DllData1;
CallBackData2=DllData2;
CallBackData3=DllData3;
onloadDllWhenExit=UnloadDLL;
LoadNextWhenActive=loadNextIme;
wmemset(g_IMEDLLString0802);
wcscpy(g_IMEDLLStringtmpStr);
return?1;
}
int?WINAPI?IMEClearPubString()
{
CallBackData1=0;
CallBackData2=0;
CallBackData3=0;
onloadDllWhenExit=0;
LoadNextWhenActive=0;
wmemset(g_IMEDLLString0802);
return?1;
}
//************************************************************
// 基本輸入法窗口UI類注冊
//************************************************************
BOOL?ImeClass_Register(HINSTANCE?hInstance)
{
????WNDCLASSEX?wc;
????//
????//?register?class?of?UI?window.
????//
????wc.cbSize?????????=?sizeof(WNDCLASSEX);
????wc.style??????????=?CS_INPUTSTAR?|?CS_IME;
????wc.lpfnWndPro
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????255??2012-01-02?10:57??清理VC工程文件.bat
?????文件??????36132??2011-08-05?15:05??Freeime\Freeime.aps
?????文件??????12646??2011-08-07?18:08??Freeime\Freeime.cpp
?????文件????????722??2011-08-05?14:59??Freeime\Freeime.def
?????文件???????2906??2011-08-05?15:00??Freeime\Freeime.dsp
?????文件????????522??2011-08-05?14:54??Freeime\Freeime.dsw
?????文件????????318??2011-04-08?02:32??Freeime\Freeime.ico
?????文件???????2863??2011-08-07?16:52??Freeime\Freeime.rc
?????文件??????37370??1999-04-01?23:24??Freeime\IMM.H
?????文件??????56788??1997-07-11?22:30??Freeime\IMM32.LIB
?????文件????????461??2009-05-02?02:37??Freeime\resource.h
?????文件????????211??2011-08-07?17:10??Freeime\注意事項.txt
?????文件??????14140??2011-08-07?21:04??ImeInject\ImeFun.cpp
?????文件????????377??2011-08-07?18:48??ImeInject\ImeFun.h
?????文件??????43080??2011-08-07?20:09??ImeInject\ImeInject.aps
?????文件???????1688??2011-08-04?23:55??ImeInject\ImeInject.cpp
?????文件????????463??2011-08-04?23:55??ImeInject\ImeInject.h
?????文件???????5433??2011-08-07?18:56??ImeInject\ImeInject.rc
?????文件???????5684??2011-08-07?17:22??ImeInject\ImeInject.vcproj
?????文件???????1409??2013-01-16?17:20??ImeInject\ImeInject.vcproj.FYL-PC.FYL.user
?????文件???????1427??2011-08-07?21:07??ImeInject\ImeInject.vcproj.LENOVO-46FF9549.Administrator.user
?????文件???????3684??2011-08-07?18:55??ImeInject\ImeInjectDlg.cpp
?????文件????????772??2011-08-07?18:55??ImeInject\ImeInjectDlg.h
?????文件??????93648??2011-04-08?19:08??ImeInject\ntdll.h
?????文件?????361648??2004-07-17?11:41??ImeInject\ntdll.lib
?????文件?????268932??2011-04-06?18:48??ImeInject\ntstatus.h
?????文件???????2799??2011-08-04?22:14??ImeInject\ReadMe.txt
?????文件??????33288??2011-08-07?20:09??ImeInject\Release\ImeInject.res
?????文件??????21630??2003-07-24?09:52??ImeInject\res\ImeInject.ico
?????文件????????365??2011-08-04?22:14??ImeInject\res\ImeInject.rc2
............此處省略14個文件信息
評論
共有 條評論