The interface is as follows:
The key code is as follows:
iBufSize = WideCharToMultiByte(CP_ACP, , m_strPathName.GetBuffer(), -, NULL, *pszBuffer = WideCharToMultiByte(CP_ACP, , m_strPathName.GetBuffer(), - pszBuffer = iBufSize = WideCharToMultiByte(CP_ACP, , m_strPathName.GetBuffer(), -, NULL, *pszBuffer = WideCharToMultiByte(CP_ACP, , m_strPathName.GetBuffer(), - pszBuffer = CInjectDllDlg::InjectDll(DWORD dwPid, * (dwPid == || strlen(szDllName) == *pFunName = HANDLE hProcess = (NULL == iDllLen = strlen(szDllName) + ( PVOID pDllAddr = (NULL == DWORD dwWriteNum = WriteProcessMemory(hProcess, pDllAddr, szDllName, iDllLen, & FARPROC pFunAddr = GetProcAddress(GetModuleHandleA( HANDLE hThread = CreateRemoteThread(hProcess, NULL, , (LPTHREAD_START_ROUTINE)pFunAddr, pDllAddr, CInjectDllDlg::UnInjectDll(DWORD dwPid, * HANDLE hSnap = MODULEENTRY32 Me32 = { Me32.dwSize = BOOL bRet = Module32First(hSnap, & iBufSize = WideCharToMultiByte(CP_ACP, , Me32.szExePath, -, NULL, *pszBuffer = WideCharToMultiByte(CP_ACP, , Me32.szExePath, - (strcmp(pszBuffer, szDllName) == pszBuffer = pszBuffer = bRet = Module32Next(hSnap, & *pFunName = HANDLE hProcess = FARPROC pFunAddr = GetProcAddress(GetModuleHandleA( HANDLE hThread = CreateRemoteThread(hProcess, NULL, , (LPTHREAD_START_ROUTINE)pFunAddr, Me32.hModule, }
:
Http://pan.baidu.com/s/1xk7Jw