VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 580|回复: 3

[求助] CreateRemoteThread失败

[复制链接]
97_avatar_middle
donate_vip 发表于 2017-6-4 17:02:51 | 显示全部楼层 |阅读模式
3驿站币
BOOL InjectDll(DWORD dwPID, LPCTSTR szDllName)
{
        HANDLE hProcess, hThread;

        LPVOID pRemoteBuf;

        DWORD dwBufSize = (DWORD)(_tcslen(szDllName) + 1) * sizeof(TCHAR);

        LPTHREAD_START_ROUTINE pThreadProc;




        if (!(hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID)))
        {
                DWORD dwErr = GetLastError();

                return FALSE;
        }



        pRemoteBuf = VirtualAllocEx(hProcess, NULL, dwBufSize, MEM_COMMIT, PAGE_READWRITE);

        WriteProcessMemory(hProcess, pRemoteBuf, (LPVOID)szDllName, dwBufSize, NULL);

        pThreadProc = (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle(L"kernel32.dll"), "LoadLibraryW");

       
        hThread = CreateRemoteThread(hProcess, NULL, 0, pThreadProc, pRemoteBuf, 0, NULL);

        if (!hThread)
        {
                printf("\n1411");
        }
        WaitForSingleObject(hThread, INFINITE);

        CloseHandle(hThread);
        CloseHandle(hProcess);

        return TRUE;





上一篇:Visual C++ 编译时出错
下一篇:opengl 如何降低刷新率?
97_avatar_middle
ico_lz  楼主| 发表于 2017-6-4 17:03:23 | 显示全部楼层
系统是64位win10
51_avatar_middle
online_admins 发表于 2017-6-5 01:15:10 | 显示全部楼层

CreateRemoteThread 函数调用失败之后,直接调用 GetLastError 看看错误码是多少?大概就知道错误的原因了
97_avatar_middle
ico_lz  楼主| 发表于 2017-6-5 18:55:31 | 显示全部楼层
错误代码 5
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-5-24 16:11

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表