易语言调用API实现隐藏进程

RT。最近在学习用易语言写一个下载者,想实现隐藏进程的功能,但是不想用模块,请教下如何调用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)
这个是代码,运用写驱动来隐藏进程,这个是复制的,因为代码挺长的,就没有自己写。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-14
源码下载易语言论坛。(一个隐藏进程的dll)不错的源码

http://bbs.eyuyan.com/read.php?tid=257446

易语言调用API实现隐藏进程
.参数 pid, 整数型, 可空, 空为隐藏本进程,可输入其它进程PID .局部变量 eprocess, 长整数型 .局部变量 hand, 整数型 .局部变量 temp, 字节集 .局部变量 fw_, 长整数型 .局部变量 bw_, 长整数型 .局部变量 fw, 字节集 .局部变量 bw, 字节集 .如果 (是否为空 (pid))hand = OpenProce...

易语言怎样显示和隐藏这个窗口,
调用API。在DLL命令表插入下面的命令 .版本 2 .DLL命令 ShowWindow, 整数型, "user32", "ShowWindow", , 控制窗口的可见性(在vb里使用:针对vb窗体及控件,请使用对应的vb属性)。返回值Long,如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)。.参数 hwnd, 整数型 .参数 nCmdSh...

易语言以及批处理问题。
回答:BAT后缀名的文件实际上是用CMD.EXE运行的CMD会一行一行地从BAT文件里读入文本命令来运行对于易语言来说,CMD就是外部程序(互为第3方软件)要想让CMD隐藏运行可以通过修改注册表来达到进程隐藏的目的也可以将进程管理器枚举进程的关键API给HOOK到自己的子程序里然后在自己的子程序里把要隐藏的进程给过...

易语言命令发送信息() 里面的隐藏窗口的消息值视多少?
隐藏窗口用的API是ShowWindow .版本 2 .DLL命令 _控制窗口状态, 整数型, , "ShowWindow", , 控制窗口的状态(在vb里使用:针对vb窗体及控件,请使用对应的vb属性) 成功:返回TRUE(非零),失败:返回FALSE(零).参数 hwnd, 整数型, , 窗口句柄,要向这个窗口应用由命令 .参数 nCmdShow, 整数...

怎么让易语言制作出来的软件隐藏桌面任务栏
很简单,使用API即可 用ShowWindowAsync这个函数,参数一为窗口句柄,参数二设为SW_HIDE,即隐藏

怎么让易语言制作出来的软件隐藏桌面任务栏
只需一个简单的命令就可以了,隐藏任务栏()括号里不需要参数,同类的还有:隐藏桌面图标 ()隐藏系统时钟 ()隐藏开始按钮 ()如图:要在运行软件时就隐藏任务栏,可以把命令放在启动窗口创建完毕里,就OK了

易语言进程隐藏代码,要可用的
现在通用的方法,一种是断链方式,一种是远程线程注入方式 但是前一种不能在win7+的计算机上实现功能 后一种可能杀毒软件会出现提示 不过还有钩子和驱动方式 钩子可以是api钩子和全局钩子,全局钩子又会有提示的 驱动……这个难度比较大,现在网络上大概有现成的驱动了,但是,对驱动的调用也比较麻烦……...

高手指点下面的软件易语言实现,浏览器隐藏切换工具
界面和热键好写,不用说.想隐藏指定页面,要用到API,先枚举窗口列表,取到句柄,再取矩阵,换成全统一色,再把该窗口完全透明化就看不见了。

易语言检测进程出现之后结束某一进程的命令是什么?求求各位大侠了!还有...
易语言好像有第三方的进程管理模块,你自己找找,我也不清楚,有了这个之后,你可以枚举系统的所有进程,一个个检测,发现是你要的那个进程后,终止就是了。 如果没有这种模块,那么你可以用api来实现这个功能,你可以用ToolHelpAPI的ProcessFirst和ProcessNext来枚举进程,可以获得进程ID和进程名等信息,...

bat命令或易语言可以实现进程挂起吗
BAT命令能否挂起我不清楚,但是易语言通过windows api是可以实现将某个进程挂起的。具体可以参考windows api文档。如果嫌windows api麻烦,那你可以直接用精易模块,那里面直接整合了进程挂起、进程提权等,一句代码就可以实现你要的功能。如果你要挂起的进程是系统进程的话,有时候需要提升权限。当然了,用...

相似回答