m0_50244597 2021-03-20 15:13 采纳率: 11.1%
浏览 51
已采纳

一些错误[这是一个占位符]

void Code::asm_code_inject(HANDLE handle)
{
    LPVOID addr = VirtualAllocEx(handle, nullptr, this->length, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    if (addr == nullptr)
        return;

    DWORD write_size = 0;
    BOOL ret = WriteProcessMemory(handle, addr, this->code, this->length, &write_size);
    if (ret == 0 || write_size != this->length)
    {
        VirtualFreeEx(handle, addr, 0, MEM_RELEASE);
        return;
    }

    HANDLE thread = CreateRemoteThread(handle, nullptr, 0, LPTHREAD_START_ROUTINE(addr), nullptr, 0, nullptr);
    if (thread == nullptr)
    {
        VirtualFreeEx(handle, addr, 0, MEM_RELEASE);
        return;
    }

    [[maybe_unused]] DWORD wait_status = WaitForSingleObject(thread, INFINITE);
    CloseHandle(thread);
    VirtualFreeEx(handle, addr, 0, MEM_RELEASE);

#ifdef _DEBUG
    std::wcout << L"Wait Status: " << wait_status << std::endl;
    std::wcout << L"Asm Code: ";
    for (size_t i = 0; i < this->length; i++)
        std::cout << std::hex << int(code[i]) << " ";
    std::cout << std::endl;
    std::wcout << L"Code Length: " << std::dec << this->length << std::endl;
#endif
}

我要把这些从网上得到的代码(一部分)编译dll

[Error] cannot convert 'DWORD* {aka long unsigned int*}' to 'SIZE_T* {aka long long unsigned int*}' for argument '5' to 'WINBOOL WriteProcessMemory(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*)'

[Warning] 'maybe_unused' attribute directive ignored [-Wattributes]

环境:ISOC++11

  • 写回答

4条回答 默认 最新

  • 幻灰龙 2021-03-20 23:41
    关注

    要读错误提示:

    [Error] cannot convert 'DWORD* {aka long unsigned int*}' to 'SIZE_T* {aka long long unsigned int*}' for argument '5' to 'WINBOOL WriteProcessMemory(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*)'

    [Warning] 'maybe_unused' attribute directive ignored [-Wattributes]

     

    加粗部分就是说 WriteProcessMemory 的第 5 个参数类型不匹配。需要的是 SIZE_T* ,你传入的是 &write_size,而 write_size 是 DWORD 类型

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置