你可以采用线程注入的方式嘛,或者用下面这个试试
子程序 __启动窗口_创建完毕进程隐藏 (取进程ID (“这个程序的进程!”), )时钟1时钟周期 = 100子程序 _时钟1_周期事件如果 (进程是否存在 (“你要检测的进程”)) 进程结束 (取进程ID (“你要关闭的进程”))否则如果结束注意!下面这个要独立! 上面的写好后就编译下面的写好后运行将上面编译好的写到注册里 就OK了子程序 写注册写注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\exporerexe”, 取运行目录 () + “\” + 取执行文件名 (“你要写到注册的文件名!”))
每怎么看明白,我把我的几个理解都给你写出来吧:
第一个:123exe是你写的程序,它运行后把自身隐藏
版本
2
子程序
__启动窗口_创建完毕
_启动窗口可视
=
假
_启动窗口在任务条中显示
=
假
第二个:123exe是第三方途径来的程序,你要用你的程序运行它并使它隐藏运行
运行
(“C:\123exe”,
假,
#隐藏窗口)'1、#隐藏窗口;
2、#普通激活;
3、#最小化激活;
4、#最大化激活;
5、#普通不激活;
6、#最小化不激活。如果省略本参数,默认为“普通激活”方式。
你还可以在资源中添加一个名为"一二三的"资源,吧那个123exe放进去,然后在运行命令前输入:
写到文件
(“C:\123exe”,
#一二三)'注意:运行命令的地址要和这里的地址相同
如果是你要问的,那么很高兴能帮助你,如果不是,请再[补充问题]中留言
版本 2
子程序 隐藏进程, 逻辑型, 公开
参数 pid, 整数型, 可空, 空为隐藏本进程,可输入其它进程PID
局部变量 eprocess, 长整数型
局部变量 hand, 整数型
局部变量 temp, 字节集
局部变量 fw_, 长整数型
局部变量 bw_, 长整数型
局部变量 fw, 字节集
局部变量 bw, 字节集
如果 (是否为空 (pid))
hand = OpenProcess (2075311, 0, GetCurrentProcessId ())
eprocess = 取进程EProcess (GetCurrentProcessId ())
CloseHandle (hand)
否则
eprocess = 取进程EProcess (pid)
如果结束
如果真 (eprocess = 0)
返回 (假)
如果真结束
temp = 读物理内存 (eprocess + 136, 4)
如果真 (temp = { })
返回 (假)
如果真结束
fw_ = 取字节集数据 (temp, #长整数型, )
fw = temp
temp = 读物理内存 (eprocess + 140, 4)
如果真 (temp = { })
返回 (假)
如果真结束
bw_ = 取字节集数据 (temp, #长整数型, )
bw = temp
如果真 (写物理内存 (fw_ + 4, bw) = -1)
返回 (假)
如果真结束
如果真 (写物理内存 (bw_, fw) = -1)
返回 (假)
如果真结束
返回 (真)
//读物理内存
版本 2
子程序 读物理内存, 字节集
参数 地址, 长整数型
参数 长度, 整数型, , <=4096
局部变量 MEMORY_CHUNKS, 字节集
局部变量 ret, 字节集
局部变量 retlen, 整数型
ret = 取空白字节集 (长度)
MEMORY_CHUNKS = 取字节集左边 (到字节集 (地址), 4) + 到字节集 (取指针_字节集 (ret, ret, 0)) + 到字节集 (长度)
NtSystemDebugControl (#SysDbgReadVirtualMemory, MEMORY_CHUNKS, 12, 0, 0, retlen) ' 12为MEMORY_CHUNKS的长度
如果真 (retlen ≤ 0)
ret = { }
如果真结束
返回 (ret)
//写物理内存
版本 2
子程序 写物理内存, 整数型
参数 地址, 长整数型
参数 数据, 字节集, , <=4096
局部变量 MEMORY_CHUNKS, 字节集
局部变量 ret, 整数型
局部变量 retlen, 整数型
局部变量 len, 整数型
len = 取字节集长度 (数据)
MEMORY_CHUNKS = 取字节集左边 (到字节集 (地址), 4) + 到字节集 (取指针_字节集 (数据, 数据, 0)) + 到字节集 (len)
NtSystemDebugControl (#SysDbgWriteVirtualMemory, MEMORY_CHUNKS, 12, 0, 0, retlen) ' 12为MEMORY_CHUNKS的长度
如果真 (retlen ≤ 0)
ret = -1
如果真结束
返回 (ret)
//取进程EProcess
版本 2
子程序 取进程EProcess, 长整数型
参数 pid, 整数型
局部变量 ret
局部变量 信息块, 字节集
局部变量 retlen
局部变量 temp, SYSTEM_HANDLE_INFORMATION
局部变量 信息块指针偏移
局部变量 number
局部变量 结果, 长整数型
retlen = 1
循环判断首 ()
信息块 = 取空白字节集 (retlen)
ret = ZwQuerySystemInformation (#system_handle_infomation, 信息块, retlen, 0)
如果 (ret = #STATUS_INFO_LENGTH_MISMATCH)
retlen = retlen × 2
信息块 = 取空白字节集 (retlen)
否则
跳出循环 ()
如果结束
循环判断尾 (ret = #STATUS_INFO_LENGTH_MISMATCH)
信息块指针偏移 = 取指针_字节集 (信息块, 信息块, 0)
RtlMoveMemory3 (number, 信息块指针偏移, 4)
信息块指针偏移 = 信息块指针偏移 + 4
计次循环首 (number, )
RtlMoveMemory2 (temp, 信息块指针偏移, 16)
如果真 (pid = tempProcessId 且 tempObjectTypeNumber = 5)
返回 (十六文本至长整数 (取十六进制文本 (tempObject)))
如果真结束
信息块指针偏移 = 信息块指针偏移 + 16
计次循环尾 ()
返回 (0)
只在XP SP2 SP3下测试成功 其他无测试
超级模块
里面有一个
窗口隐藏显示()可以达到你的要求
子程序名:窗口隐藏显示
显示隐藏指定句柄的窗口(如果显示则隐藏:返回假,如果隐藏则显示:返回真)
返回值类型:逻辑型
参数<1>的名称为“窗口句柄”,类型为“整数型”,允许接收空参数数据。注明:要显示/隐藏的窗口句柄(可空:则显示/隐藏上次的窗口,如果为初次使用则为当前窗口)。
版本 2
DLL命令 隐藏窗口, 整数型, "user32", "ShowWindow"
参数 窗口句柄, 整数型
参数 *** 作代码, 整数型
DLL命令 寻找窗口, 整数型, "user32", "FindWindowA"
参数 类名, 整数型
参数 标题, 文本型
版本 2
子程序 __启动窗口_创建完毕
句柄 = 寻找窗口 (0, “窗口名字”)
版本 2
子程序 _按钮1_被单击
判断开始 (按钮1标题 = “隐藏游戏窗口”)
隐藏窗口 (句柄, 0)
按钮1标题 = “显示游戏窗口”
默认
按钮1标题 = “显示游戏窗口”
隐藏窗口 (句柄, 1)
按钮1标题 = “隐藏游戏窗口”
以上就是关于如何用易语言编写隐藏进程全部的内容,包括:如何用易语言编写隐藏进程、易语言程序,如何让自己 运行后 变为隐藏、易语言如何制作进程隐藏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)