易语言防止程序退出内存错误源码
系统结构:干进程,取得ID,强力打开进程,取字节集指针,取进程ID,ShowWindow,ZwQueryInformationProcess,ZwDuplicateObject,ZwQuerySystemInformation,ZwOpenProcess,ZwClose,关闭句柄,副线程,主线程,CreateToolhelp32Snapshot,给线程投递消息,ZwTerminateProcess,ZwTerminateJobObject,ZwAssignProcessToJobObject,ZwCreateJobObject,
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ _提升进程权限
| |
| |------ 干进程
| |
| |------ 取得ID
| |
| |------ 强力打开进程
| |
| |------ 取字节集指针
| |
| |------ __启动窗口_可否被关闭
| |
| |------ _退出程序
| |
| |------ 取进程ID
| |
| |
======调用的Dll
| |
| |---[dll]------ ShowWindow
| |
| |---[dll]------ ZwQueryInformationProcess
| |
| |---[dll]------ ZwDuplicateObject
| |
| |---[dll]------ _写内存1
| |
| |---[dll]------ _写内存2
| |
| |---[dll]------ ZwQuerySystemInformation
| |
| |---[dll]------ ZwOpenProcess
| |
| |---[dll]------ ZwClose
| |
| |---[dll]------ 关闭句柄
| |
| |---[dll]------ 副线程
| |
| |---[dll]------ 主线程
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ 给线程投递消息
| |
| |---[dll]------ ZwTerminateProcess
| |
| |---[dll]------ ZwTerminateJobObject
| |
| |---[dll]------ ZwAssignProcessToJobObject
| |
| |---[dll]------ ZwCreateJobObject
| |
| |---[dll]------ _RtlAdjustPrivilege
调用的DLL命令:
.DLL命令 ShowWindow, 整数型, "user32", "ShowWindow", , 控制窗口的状态(在vb里使用:针对vb窗体及控件,请使用对应的vb属性) 成功:返回TRUE(非零),失败:返回FALSE(零)
.参数 hwnd, 整数型, , 窗口句柄,要向这个窗口应用由命令
.参数 nCmdShow, 整数型, , 为窗口指定的一个命令。请用下述任何一个常数:0 隐藏取消激活 1 还原激活 2 最小化激活 3 最大化激活 4 还原 6 最小化取消激活 7 最小化 9 还原激活
.DLL命令 ZwQueryInformationProcess, 整数型, "ntdll.dll", "ZwQueryInformationProcess", , ntdll.dll
.参数 SystemInformationClass, 整数型, , 未知类型:SYSTEM_INFORMATION_CLASS。
.参数 dd, 整数型
.参数 SystemInformation, 程序基本数据, , any
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 ZwDuplicateObject, 整数型, "ntdll", "ZwDuplicateObject", , ntdll.dll
.参数 SourceProcessHandle, 整数型
.参数 SourceHandle, 整数型
.参数 TargetProcessHandle, 整数型
.参数 TargetHandle, 整数型, 传址
.参数 DesiredAccess, 整数型
.参数 HandleAttributes, 整数型
.参数 Options, 整数型
.DLL命令 _写内存1, 整数型, , "RtlMoveMemory", , 常规API
.参数 dest, SYSTEM_HANDLE_TABLE_ENTRY_INFO
.参数 Source, 整数型
.参数 len, , , 284
.DLL命令 _写内存2, 整数型, , "RtlMoveMemory"
.参数 dest, 整数型, 传址
.参数 Source, 整数型
.参数 len, 整数型, , 4
.DLL命令 ZwQuerySystemInformation, 整数型, "ntdll.dll", "ZwQuerySystemInformation", , ntdll.dll
.参数 SystemInformationClass, 整数型, , 未知类型:SYSTEM_INFORMATION_CLASS。
.参数 SystemInformation, 字节集, , any
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 ZwOpenProcess, 整数型, "ntdll.dll", "ZwOpenProcess", , ntdll.dll
.参数 hProcess, 整数型, 传址
.参数 DesiredAccess, 整数型
.参数 ObjectAttributes, OBJECT_ATTRIBUTES
.参数 ClientId, CLIENT_ID
.DLL命令 ZwClose, 整数型, "ntdll", "ZwClose", , ntdll.dll
.参数 hnd
.DLL命令 关闭句柄, 整数型, , "CloseHandle"
.参数 句柄, 整数型
.DLL命令 副线程, 整数型, , "Thread32Next"
.参数 hSnapshot, 整数型
.参数 lppe, 线程注入
.DLL命令 主线程, 整数型, , "Thread32First"
.参数 hSnapshot, 整数型
.参数 lppe, 线程注入
.DLL命令 CreateToolhelp32Snapshot, 整数型, , "CreateToolhelp32Snapshot"
.参数 dwFlags, 整数型
.参数 th32ProcessID, 整数型
.DLL命令 给线程投递消息, 整数型, "user32", "PostThreadMessageA", , 将一条消息投递给应用程序。这条消息由应用程序的内部GetMessage循环获得,但不会传给一个特定的窗口 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 idThread, 整数型, , 用于接收消息的那个线程的标识符
.参数 msg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
.DLL命令 ZwTerminateProcess, 整数型, "ntdll", "ZwTerminateProcess", , ntdll.dll
.参数 ProcessHandle, 整数型
.参数 ExitStatus, 整数型
.DLL命令 ZwTerminateJobObject, 整数型, "ntdll.dll"
.参数 JobHandle, 整数型
.参数 ExitStatus, 整数型
.DLL命令 ZwAssignProcessToJobObject, 整数型, "ntdll.dll", "ZwAssignProcessToJobObject"
.参数 JobHandle, 整数型
.参数 ProcessHandle, 整数型
.DLL命令 ZwCreateJobObject, 整数型, "ntdll.dll"
.参数 JobHandle, 整数型, 传址
.参数 DesiredAccess, 整数型
.参数 ObjectAttributes, OBJECT_ATTRIBUTES
.DLL命令 _RtlAdjustPrivilege, 整数型, "ntdll.dll", "RtlAdjustPrivilege"
.参数 Privilege, 整数型
.参数 Enable, 逻辑型
.参数 CurrentThread, 逻辑型
.参数 Enabled, 整数型, 传址
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。