vc部分外挂相関コード、どんどん増加ing


ASMコードを回す
@echo offf
@cd /d "%~dp0"
cl /c /FAs %1

プロセスデータの読み込み:
HWND g=::FindWindow(NULL,gamename);
DWORD a;
::GetWindowThreadProcessId(g,(LPDWORD)&a);
HANDLE ph=::OpenProcess(PROCESS_ALL_ACCESS,false,a);
int buff;
::ReadProcessMemory(ph,(LPCVOID)0xffffffff,(LPVOID)&buff,4,NULL);//0xffffffff       


プロセスデータの書き込み:
HWND g=::FindWindow(NULL,gamename);
DWORD a;
::GetWindowThreadProcessId(g,(LPDWORD)&a);
HANDLE ph=::OpenProcess(PROCESS_ALL_ACCESS,false,a);
int buff;
::WriteProcessMemory(ph,(LPCVOID)0xffffffff,(LPVOID)&buff,4,NULL);//0xffffffff       

コールアドレスコードを呼び出します.
HWND g=::FindWindow(NULL,gamename);
DWORD a;
::GetWindowThreadProcessId(g,(LPDWORD)&a);
HANDLE ph=::OpenProcess(PROCESS_ALL_ACCESS,false,a);
DWORD b;
::CreateRemoteThread(ph,NULL,0,(LPTHREAD_START_ROUTINE)0xffffffff,0,0,&b);//0xffffffff    (    )


------------------------------------------------------------------------------------------------------
dllロード:
1:
1.   def        
2.     AFX_MANAGE_STATE(AfxGetStaticModuleState());

exe:
#pragma comment(lib,"some.lib")

1:
1.   __declspec(dllimport)int myfun(int a,int b);     
extern "c" int myfun(int a,int b)

------------------------------------------------------------------------------------------------------
リモートプロセスでコードを書き込み、次のように実行します.
------------------------------------------------------------------------------------------------------
キーボードhook dllコード(defファイルのエクスポートに注意)
//    
LRESULT CALLBACK KeyboardProc(
  int code,       // hook code
  WPARAM wParam,  // virtual-key code
  LPARAM lParam   // keystroke-message information
)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());  //MFC        
if (wParam==VK_HOME && (lParam&(1<<31))==0 ){AfxMessageBox("asdasds");} //  home
return CallNextHookEx(0,code,wParam,lParam);
}


//    
void sethook()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());//MFC        
	HWND myg=::FindWindow(NULL,"1");
	DWORD tid=::GetWindowThreadProcessId(myg,NULL);


::SetWindowsHookEx(
  WH_KEYBOARD,        // hook type
  &KeyboardProc,     // hook procedure
  ::GetModuleHandle("hookdll.dll"),    // handle to application instance
  tid   // thread identifier
);

}

------------------------------------------------------------------------------------------------------