VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 2029|回复: 6

[交流] 取指定进程PID里DLL的地址 参数2怎么填写

[复制链接]
99_avatar_middle
最佳答案
0 
在线会员 发表于 2021-1-31 15:35:08 | 显示全部楼层 |阅读模式
3驿站币
#include <Windows.h>
#include <TlHelp32.h>
#include <iostream>
#include <stdio.h>
#include <string>
#include <tchar.h>

using namespace std;

//取指定进程PID里DLL的地址
HMODULE GetProcessModuleHandle(DWORD pid, CONST TCHAR* moduleName)
{
    MODULEENTRY32 moduleEntry;
    HANDLE handle = NULL;
    handle = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid); //  获取进程快照中包含在th32ProcessID中指定的进程的所有的模块。
    if (!handle) {
        CloseHandle(handle);
        return NULL;
    }
    ZeroMemory(&moduleEntry, sizeof(MODULEENTRY32));
    moduleEntry.dwSize = sizeof(MODULEENTRY32);
    if (!Module32First(handle, &moduleEntry)) {
        CloseHandle(handle);
        return NULL;
    }
    do {
        if (_tcscmp(moduleEntry.szModule, moduleName) == 0) {
            return moduleEntry.hModule;
        }
    } while (Module32Next(handle, &moduleEntry));
    CloseHandle(handle);
    return 0;
}
void main()
{
    int a;//接收模块地址
    char cp[50]="cloudmusic.exe";//参数2我不知道怎么填


    a = GetProcessModuleHandle(8348,cp);//参数1=PID,参数2=模块名
}




最佳答案

查看完整内容

这是要写外挂吗楼主 模块运行在程序中应该是.dll //[RunGeme.dll+1122] 模块地址加偏移地址 还有获取模块的函数返回值不知道能不能转成int类型 记得以前写csgo用过了... int RunModule;//接收模块地址 char cp[50]="模块的名称.dll"; RunModule = GetProcessModuleHandle(pid, cp);//参数1=PID,参数2=模块名




上一篇:Dev-Cpp 6.0u TDM-GCC 9.2 Setup下载
下一篇:求问字符数组与指针的问题
19_avatar_middle
最佳答案
12 
在线会员 发表于 2021-1-31 15:35:09 | 显示全部楼层
这是要写外挂吗楼主

模块运行在程序中应该是.dll //[RunGeme.dll+1122]  模块地址加偏移地址
还有获取模块的函数返回值不知道能不能转成int类型  记得以前写csgo用过了...

    int  RunModule;//接收模块地址   
    char cp[50]="模块的名称.dll";
    RunModule = GetProcessModuleHandle(pid, cp);//参数1=PID,参数2=模块名
31_avatar_middle
最佳答案
62 
在线会员 发表于 2021-1-31 16:47:26 | 显示全部楼层
传引用啊 a = GetProcessModuleHandle(8348,&cp);
31_avatar_middle
最佳答案
62 
在线会员 发表于 2021-1-31 16:54:06 | 显示全部楼层
if (!handle) {
        CloseHandle(handle);
这是病句
99_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-1-31 20:06:53 | 显示全部楼层
236a 发表于 2021-1-31 19:17
这是要写外挂吗楼主

模块运行在程序中应该是.dll //[RunGeme.dll+1122]  模块地址加偏移地址

是的,学好C++就能看懂国外大神们的源码了,各种稀奇古怪算法全是C++的开源
99_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-1-31 20:12:05 | 显示全部楼层
cpp2019 发表于 2021-1-31 16:47
传引用啊 a = GetProcessModuleHandle(8348,&cp);

原来是【&文本变量】,难怪我运行不通过
99_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-1-31 21:42:30 | 显示全部楼层
自己解决了,上面的回答编译都不通过
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

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

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

GMT+8, 2023-9-28 11:54

Powered by CcTry.CoM

© 2009-2021 cctry.com

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