防止进程被关闭
系统结构:刷新进程信息,修改API首地址,还原API,安装全局钩子,修改虚拟保护,返回虚拟信息,取程序或DLL句柄,取DLL函数地址,写内存字节,api_ExitWindowsEx,创建进程快照,开始进程快照,继续进程快照,取当前进程伪句柄,释放内存空间,申请内存空间,载入动态链接库,返回函数地址,安装钩子过程,关闭全局钩子,释放动态链接库,
======接口程序集
| |
| |------ 刷新进程信息
| |
| |------ 修改API首地址
| |
| |------ 还原API
| |
| |
======窗口程序集
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ 安装全局钩子
| |
| |------ _按钮2_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |
======调用的Dll
| |
| |---[dll]------ 修改虚拟保护
| |
| |---[dll]------ 返回虚拟信息
| |
| |---[dll]------ 取程序或DLL句柄
| |
| |---[dll]------ 取DLL函数地址
| |
| |---[dll]------ 写内存字节
| |
| |---[dll]------ api_ExitWindowsEx
| |
| |---[dll]------ 创建进程快照
| |
| |---[dll]------ 开始进程快照
| |
| |---[dll]------ 继续进程快照
| |
| |---[dll]------ 取当前进程伪句柄
| |
| |---[dll]------ 释放内存空间
| |
| |---[dll]------ 申请内存空间
| |
| |---[dll]------ 载入动态链接库
| |
| |---[dll]------ 返回函数地址
| |
| |---[dll]------ 安装钩子过程
| |
| |---[dll]------ 关闭全局钩子
| |
| |---[dll]------ 释放动态链接库
调用的DLL命令:
.DLL命令 修改虚拟保护, 逻辑型, "kernel32", "VirtualProtectEx"
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型, , 虚拟信息.BaseAddress
.参数 dwSize, 整数型, , 虚拟信息.RegionSize
.参数 flNewProtect, 整数型, , 修改类型,#PAGE_EXECUTE_READWRITE 64为可读写模式
.参数 lpflOldProtect, 整数型, 传址, 虚拟信息.Protect
.DLL命令 返回虚拟信息, 整数型, "kernel32", "VirtualQueryEx"
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型, , 对象指针地址
.参数 lpBuffer, 虚拟信息, , 返回的虚拟信息
.参数 dwLength, 整数型, , 信息长度,已知 28
.DLL命令 取程序或DLL句柄, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 模块名, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 取DLL函数地址, 整数型, "kernel32", "GetProcAddress", , 返回函数地址 成功返回DLL库模块内函数地址
.参数 DLL句柄, 整数型, , DLL库模块的句柄,可以调用 LoadLibrary 函数返回。
.参数 DLL库模块内函数名, 文本型, , DLL库模块内函数名
.DLL命令 写内存字节, 逻辑型, "kernel32", "WriteProcessMemory", , 在指定进程中写内存
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 起始写入地址, 整数型, , 起始写入地址
.参数 要写入的内容, 字节集, , 本参数的类型也能是“字节”型。
.参数 写入长度, 整数型, , 写入的数据长度。
.参数 实际写入长度, 整数型, , 实际写入的数据长度,为0则忽略。
.DLL命令 api_ExitWindowsEx, 整数型, "user32.dll", "ExitWindowsEx", , 退出windows,并用特定的选项重新启动
.参数 标志, 整数型, , 0.注销; 1.关机; 2.重启; 3.待机
.参数 保留值, 整数型, , dwReserved,保留,设为零
.DLL命令 创建进程快照, 整数型, , "CreateToolhelp32Snapshot"
.参数 快照类型, 整数型
.参数 进程标识, 整数型
.DLL命令 开始进程快照, 整数型, , "Process32First"
.参数 快照句柄, 整数型
.参数 线程信息输出变量, 进程信息输出
.DLL命令 继续进程快照, 整数型, , "Process32Next"
.参数 快照句柄, 整数型
.参数 线程信息输出变量, 进程信息输出
.DLL命令 取当前进程伪句柄, 整数型, "kernel32", "GetCurrentProcess"
.DLL命令 释放内存空间, 整数型, "kernel32.dll", "VirtualFreeEx", , 释放申请的内存地址空间
.参数 线程标识, 整数型, , 可以使用函数 OpenProcess() 返回。
.参数 内存空间地址, 整数型, , 用 VirtualAllocEx() 申请的内存空间地址。
.参数 dwSize, 整数型, 传址, 0
.参数 dwFreeType, 整数型, , 32768
.DLL命令 申请内存空间, 整数型, "kernel32.dll", "VirtualAllocEx", , 申请内存地址空间 成功返回申请的内存空间的起始地址。
.参数 线程标识, 整数型, , 可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型
.参数 空间大小, 整数型, 传址, 申请的内存空间大小
.参数 flAllocationType, 整数型
.参数 共享方式, 整数型, , 申请的内存空间共享方式,PAGE_READWRITE(可读写方式);
.DLL命令 载入动态链接库, 整数型, , "LoadLibraryA"
.参数 lpFileName, 文本型, , 动态链接库名称
.DLL命令 返回函数地址, 子程序指针, , "GetProcAddress"
.参数 hMod, 整数型
.参数 lpFileName, 文本型
.DLL命令 安装钩子过程, 整数型, , "SetWindowsHookExA"
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 nMod, 整数型
.参数 dwThreadID, 整数型
.DLL命令 关闭全局钩子, 逻辑型, , "UnhookWindowsHookEx"
.参数 hhook, 整数型
.DLL命令 释放动态链接库, 整数型, "kernel32.dll", "FreeLibrary"
.参数 库句柄, 整数型, , hLibModule,要释放的一个库句柄
易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...
易语言其它简易换肤13种源码,配色...
易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...
易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...
易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...
易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...
易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...
易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...
易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...