DMA遍历同名进程PID,大牛勿喷
如果对你有帮助,希望可以给个好评谢谢!vmm项目中vmmdll.c添加以下代码
_Success_(return!=NULL)
LPSTR VMMDLL_Pid_List(_In_ VMM_HANDLE H, _In_ DWORD dwPid)
{
VMMDLL_PROCESS_INFORMATION ProcessInformation;
SIZE_T cbProcessInformation = sizeof(VMMDLL_PROCESS_INFORMATION);
ZeroMemory(&ProcessInformation, sizeof(VMMDLL_PROCESS_INFORMATION));
ProcessInformation.magic = VMMDLL_PROCESS_INFORMATION_MAGIC;
ProcessInformation.wVersion = VMMDLL_PROCESS_INFORMATION_VERSION;
BOOL pdwResult = VMMDLL_ProcessGetInformation(H, dwPid, &ProcessInformation, &cbProcessInformation);
LPSTR AA = NULL;
AA = ProcessInformation.szName;
if (pdwResult = 0)
{
return "";
}
return AA;
}
易语言添加以下代码,VMM句柄可以找我上一个帖子中的DMA初始化()子程序
.版本 2
.子程序 DMA取同名进程PID, 逻辑型
.参数 进程名称, 文本型
.参数 dwPid, 整数型, 参考 数组
.局部变量 pPIDs, 字节集
.局部变量 进程数量, 长整数型
.局部变量 进程数组, 整数型, , "0"
.局部变量 i, 整数型
.局部变量 返回进程pid, 整数型
.局部变量 返回进程名称, 文本型
VMMDLL_PidList (VMM句柄, pPIDs, 进程数量)
pPIDs = 取空白字节集 (进程数量 × 4)
VMMDLL_PidList (VMM句柄, pPIDs, 进程数量)
重定义数组 (进程数组, 假, 进程数量)
.计次循环首 (进程数量, i)
进程数组 = 到整数 (取字节集数据 (pPIDs, #整数型, (i - 1) × 4 + 1))
.计次循环尾 ()
.计次循环首 (进程数量, i)
.如果真 (VMMDLL_Pid_List (VMM句柄, 进程数组 ) = 进程名称)
加入成员 (dwPid, 进程数组 )
.如果真结束
.计次循环尾 ()
返回 (取数组成员数 (dwPid) > 0)
.版本 2
.DLL命令 VMMDLL_PidList, 逻辑型, "vmm.dll", "@VMMDLL_PidList"
.参数 hVMM, 整数型
.参数 数据, 字节集, 传址
.参数 pcPIDs, 长整数型, 传址
.版本 2
.DLL命令 VMMDLL_Pid_List, 文本型, "vmm.dll", "@VMMDLL_Pid_List"
.参数 hVMM, 整数型
.参数 dwPid, 整数型
q351336578 发表于 2024-6-16 13:25
老哥添加进去后,编译出来的dll,E调用显示无法找到指定DLL库中的命令,咋解决啊。
库名前加@,例如:@gdi32.dll {:titter:}{:titter:}学纱胰腺癌{:shocked:} 老哥添加进去后,编译出来的dll,E调用显示无法找到指定DLL库中的命令,咋解决啊。 感谢无私奉献,比那些要海B骗子强多了
感谢无私分享 真好,来看看看
页:
[1]