首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

DLL注入讨论解决方法

2012-06-05 
DLL注入讨论C/C++ codeHANDLE hProcess,hThreadPWSTR pszLibFileRemoteModifyPriles()//提权hProcess:

DLL注入讨论

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是没有问题的,我曾经试过。

热点排行
Bad Request.