开源32位进程枚举64位进程模块信息
功能说明:该易语言程序的主要功能是获取指定进程(这里以游戏《守望先锋》为例)的特定模块(此处为“csrss.exe”)的句柄。程序首先尝试通过窗口类名和标题找到目标窗口,接着获取该窗口对应的进程ID,并使用OpenProcess函数打开此进程。如果成功打开,则调用自定义子程序GetModuleHandle64来搜索并返回指定模块的句柄。若在查找过程中遇到任何问题,如找不到窗口或无法打开进程等,程序将直接返回0表示失败。整个流程涉及到了对Windows API的高级运用,包括但不限于NtWow64QueryInformationProcess64、NtWow64ReadVirtualMemory64等用于读取远程进程信息的方法。此外,还展示了如何处理Unicode与多字节字符集之间的转换以及如何操作内存地址等内容。
======main
| |
| |------ _启动子程序
| |
| |------ GetModuleHandle64
| |
| |
======调用的Dll
| |
| |---[dll]------ NtWow64QueryInformationProcess64
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ NtWow64ReadVirtualMemory64
| |
| |---[dll]------ NtWow64ReadVirtualMemory64_Bin
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ FindWindow
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ RtlAdjustPrivilege
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _组合框1_将弹出列表
| |
| |------ 提升进程权限
| |
| |------ _组合框1_列表项被选择
| |
| |------ 枚举进程32位模块
| |
| |------ 转换Unicode转Ansi
| |
| |------ 十到十六
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ Process32Next
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ 取自进程句柄
| |
| |---[dll]------ 打开令牌
| |
| |---[dll]------ 恢复权限
| |
| |---[dll]------ 获取令牌特权
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ IsWow64Process
| |
| |---[dll]------ NtWow64QueryInformationProcess64
| |
| |---[dll]------ NtWow64ReadVirtualMemory64
| |
| |---[dll]------ BinToLDR_DATA_TABLE_ENTRY64
| |
| |---[dll]------ _宽字符到双字节
| |
| |---[dll]------ _宽字符到双字节1
| |
| |---[dll]------ Module32First
| |
| |---[dll]------ Module32Next
| |
| |---[dll]------ API_wvsprintf
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。