DLL注入讨论解决方法
DLL注入讨论
以上代码运行就是不成功,每次在等待远程线程创建的那个函数那暂停,注入到explorer的时候还提示断言错误。
希望做过类似功能的可以提供个完整的源代码给我看看。谢谢了!
------解决方案--------------------
用LoadLibraryA,却往里传入个WCHAR,太不靠谱了吧,呵呵呵
------解决方案--------------------
看下GetLastError那个得到了什么,用LoadLibraryA是没有问题的,我曾经试过。
- C/C++ code
HANDLE hProcess,hThread; PWSTR pszLibFileRemote; ModifyPriles();//提权 hProcess=::OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_VM_WRITE,FALSE,dwProcessId); if (hProcess==NULL ) return FALSE; int cch=lstrlen(pszLibFile)+1; int cb=cch*sizeof(WCHAR); pszLibFileRemote=(PWSTR)::VirtualAllocEx(hProcess,NULL,cb,MEM_COMMIT, PAGE_EXECUTE_READWRITE); if (pszLibFileRemote==NULL) return FALSE; DWORD dwWritten; if(!WriteProcessMemory(hProcess,pszLibFileRemote,(PVOID)pszLibFile,cb,&dwWritten)) return FALSE; LPTHREAD_START_ROUTINE pfnThread=(LPTHREAD_START_ROUTINE )::GetProcAddress(::GetModuleHandle(_T("Kernel32")),"LoadLibraryA"); if (pfnThread==NULL) return FALSE; DWORD id; hThread=CreateRemoteThread(hProcess,NULL,0,pfnThread,pszLibFileRemote,0,&id); if(hThread==NULL) return FALSE; WaitForSingleObject(hThread,INFINITE); if(pszLibFileRemote!=NULL) VirtualFreeEx(hProcess,pszLibFileRemote,0,MEM_RELEASE); if(hThread!=NULL) CloseHandle(hThread); if(hProcess!=NULL) CloseHandle(hProcess);
以上代码运行就是不成功,每次在等待远程线程创建的那个函数那暂停,注入到explorer的时候还提示断言错误。
希望做过类似功能的可以提供个完整的源代码给我看看。谢谢了!
------解决方案--------------------
用LoadLibraryA,却往里传入个WCHAR,太不靠谱了吧,呵呵呵
------解决方案--------------------
看下GetLastError那个得到了什么,用LoadLibraryA是没有问题的,我曾经试过。