易语言枚举进程的三种方法源码
系统结构:子程序1,子程序2,CloseHandle,CreateToolhelp32Snapshot,NtQuerySystemInformation,HeapFree,GetProcessHeap,HeapAlloc,RtlMoveMemory,LocalSize_SPINFOR,EnumProcesses,EnumProcessModules,GetModuleFileNameEx,GetModuleBaseName,OpenProcess,WideCharToMultiByte,Process32First,Process32Next,
======程序集1
| |
| |------ _启动子程序
| |
| |------ 子程序1
| |
| |------ 子程序2
| |
| |
======调用的Dll
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ NtQuerySystemInformation
| |
| |---[dll]------ HeapFree
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ LocalSize_SPINFOR
| |
| |---[dll]------ EnumProcesses
| |
| |---[dll]------ EnumProcessModules
| |
| |---[dll]------ GetModuleFileNameEx
| |
| |---[dll]------ GetModuleBaseName
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ Process32Next
调用的DLL命令:
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", , 非零表示成功,零表示失败。会设置GetLastError
.参数 handle, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32.dll", "CreateToolhelp32Snapshot"
.参数 lFlags, 整数型
.参数 lProcessID, 整数型
.DLL命令 NtQuerySystemInformation, 整数型, "ntdll.dll", "NtQuerySystemInformation", , ntdll.dll
.参数 SystemInformationClass, 整数型
.参数 SystemInformation, 整数型
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 HeapFree, 整数型, "kernel32.dll", "HeapFree", , HeapFree,释放从堆中分配的内存
.参数 堆栈句柄, 整数型, , hHeap
.参数 标志, 整数型, , dwFlags
.参数 内存块句柄, 整数型, , any,lpMem
.DLL命令 GetProcessHeap, 整数型, "kernel32", "GetProcessHeap", , 获取调用过程堆句柄
.DLL命令 HeapAlloc, 整数型, "kernel32.dll", "HeapAlloc", , HeapAlloc,从堆中分配内存
.参数 堆栈句柄, 整数型, , hHeap
.参数 标志, 整数型, , dwFlags
.参数 分配大小, 整数型, , dwBytes
.DLL命令 RtlMoveMemory, , "kernel32.dll", "RtlMoveMemory"
.参数 目标, SYSTEM_PROCESS_INFORMATION
.参数 源, 整数型
.参数 尺寸, 整数型
.DLL命令 LocalSize_SPINFOR, 整数型, "kernel32.dll", "LocalSize"
.参数 hMem, SYSTEM_PROCESS_INFORMATION
.DLL命令 EnumProcesses, 逻辑型, "Psapi.dll", "EnumProcesses"
.参数 pProcessIds, 整数型, 传址 数组, pid数组
.参数 cb, 整数型, , 数组大小,单位字节
.参数 pBytesReturned, 整数型, 传址, 实际成员数
.DLL命令 EnumProcessModules, 逻辑型, "Psapi.dll", "EnumProcessModules"
.参数 hProcess, 整数型
.参数 lphModule, 整数型, 传址 数组, 模块句柄数组
.参数 cb, 整数型, , 数组大小
.参数 lpcbNeeded, 整数型, 传址, 实际成员数
.DLL命令 GetModuleFileNameEx, 整数型, "Psapi.dll", "GetModuleFileNameExA", , 成功返回取回的路径长度,失败0
.参数 hProcess, 整数型
.参数 hModule, 整数型
.参数 lpFilename, 文本型, , out,模块路径
.参数 nSize, 整数型, , 字节
.DLL命令 GetModuleBaseName, 整数型, "Psapi.dll", "GetModuleBaseNameA"
.参数 hProcess, 整数型
.参数 hModule, 整数型
.参数 lpBaseName, 文本型, , out,模块名
.参数 nSize, 整数型, , 字节
.DLL命令 OpenProcess, 整数型, "Kernel32.dll", "OpenProcess"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 dwProcessId, 整数型
.DLL命令 WideCharToMultiByte, 整数型, "kernel32.dll", "WideCharToMultiByte", , 映射一个宽字符到一个新字符串
.参数 CodePage, 整数型, , 代码页
.参数 dwFlags, 整数型, , 标志
.参数 lpWideCharStr, 整数型, , 宽字符文本
.参数 cchWideChar, 整数型, , 宽字符文本长度。设置-1,函数假定字符串以空字符结尾,自动计算其长度。
.参数 lpMultiByteStr, 整数型, , 双字节文本
.参数 cchMultiByte, 整数型, , 双字节文本长度
.参数 lpDefaultChar, 整数型, , 默认文本
.参数 lpUsedDefaultChar, 逻辑型, , 使用默认文本
.DLL命令 Process32First, 整数型, "kernel32.dll", "Process32First"
.参数 h, 整数型
.参数 p, PROCESSENTRY32
.DLL命令 Process32Next, 整数型, "kernel32.dll", "Process32Next"
.参数 h, 整数型
.参数 p, PROCESSENTRY32
原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...
易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...
易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...
易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...
易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...
易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...
易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...
易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...
易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...