需要使用GetModuleHandleA,参数一为DLL的函数名或函数地址,这个函数来得到模块句柄
如果是已知窗口句柄欲获取窗口所在的进程可使用以下代码(获取窗口所在进程ID,然后通过进程ID获取该程序的路径):
GetWindowThreadProcessId,取窗口进程ID
子程序 取进程路径, 文本型, 公开, 取指定进程的程序启动路径(成功返回路径,失败或进程不存在返回空)
参数 进程ID, 整数型
局部变量 快照句柄, 整数型
局部变量 模块信息, 模块信息型
局部变量 路径, 文本型
快照句柄 = _创建快照 (8, 进程ID)
如果真 (快照句柄 = -1)
返回 (“”)
如果真结束
模块信息size = 1024
_第一个模块 (快照句柄, 模块信息)
路径 = 到文本 (模块信息模块完整路径)
_关闭对象 (快照句柄)
返回 (路径)
DLL命令 _创建快照, 整数型, , "CreateToolhelp32Snapshot"
参数 falg, 整数型
参数 id, 整数型
DLL命令 _第一个模块, 整数型, , "Module32First", , 第一个模块,查找模块
参数 快照句柄, 整数型
参数 模块信息, 模块信息型
DLL命令 _关闭对象, 整数型, , "CloseHandle", 公开, kernel32dll
参数 对象句柄, 整数型
数据类型 模块信息型, 公开, 进程模块信息
成员 size, 整数型
成员 mid, 整数型
成员 pid, 整数型
成员 gusage, 整数型
成员 pusage, 整数型
成员 base, 整数型
成员 大小, 整数型
成员 模块句柄, 整数型
成员 模块文件名, 字节型, , "256"
成员 模块完整路径, 字节型, , "256"运行
(取运行目录
()
+
“\123exelnk”,
假,
)
是错误的,应该是
运行
(取运行目录
()
+
“\123exe”,
假,
)
这个是运行当前目录下的123exe
运行
(取运行目录
()
+
“\123lnk”,
假,
)
这个是运行当前目录下的叫123的这个快捷方式你使用 取进程路径及命令行()
主要是为了获取变化后的
-k 314564732 -t 729195
参数吗?
可以试试看使用随机数
如果不行,看看它们每个多少时间变化一次,变化的规则是怎样
是加还是减少,还是因为你 *** 作了某个步骤而改变
如果它变化的数字非常离谱 比如原本是 314564732 突然变成 1234567 这种就是没规则的可能它是经过了一些算法
当然你可以用WPE拦截数据包,看看它变化的时候是不是向服务器请求数据来变化,还是本地客户端自己变化。
如果实在不行,告诉你一个比较愚蠢的办法,自动启动游戏,获取参数后结束掉游戏。版本 2
DLL命令 _取窗口进程ID, 整数型, , "GetWindowThreadProcessId", , user32dll获取与指定窗口关联在一起的一个线程和进程标识符
参数 窗口句柄, 整数型, , hwnd,指定窗口句柄
参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符版本 2
DLL命令 CreateToolhelp32Snapshot, 整数型
参数 dwFlags, 整数型
参数 th32ProcessID, 整数型
DLL命令 GetWindowThreadProcessId, 整数型, "user32"
参数 hwnd, 整数型
参数 lpdwProcessId, 整数型, 传址
DLL命令 CloseHandle, 整数型, "kernel32"
参数 hObject, 整数型
DLL命令 Module32First, 整数型, "KERNEL32DLL"
参数 hSnapshot, 整数型
参数 lpme, MODULEENTRY32, 传址
DLL命令 GetDesktopWindow, 整数型, "user32", "GetDesktopWindow"
DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA"
参数 hWnd1, 整数型
参数 hWnd2, 整数型
参数 lpsz1, 文本型
参数 lpsz2, 文本型
版本 2
子程序 句柄取进程文件名, 文本型
参数 窗口句柄, 整数型
局部变量 hModule, 整数型
局部变量 进程标示符, 整数型
局部变量 PID, 整数型
局部变量 ModuleBuffer, MODULEENTRY32
GetWindowThreadProcessId (窗口句柄, PID)
hModule = CreateToolhelp32Snapshot (#TH32CS_SNAPMODULE, PID)
ModuleBufferdwSize = 548
Module32First (hModule, ModuleBuffer)
CloseHandle (hModule)
返回 (到文本 (ModuleBufferszExePath))
子程序 取目录名称, 文本型
参数 文件路径, 文本型
返回 (取文本左边 (文件路径, 倒找文本 (文件路径, “\”, , 假) - 1))
用法�C9A(可以放在时钟周期里)
调试输出 (取目录名称 (句柄取进程文件名 (取鼠标所在窗口句柄 ())))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)