资源简介

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个文件信息

评论

共有 条评论