C语言编程题 看的一脸懵逼,哪位大佬能给写一下#include"stdio.h"
intGetApple(inta[],intheight,intn)
{
inti;
n=0;
for(i=0;i
获取进程EPROCESS
VB如何根据进程PID获得EPROCESS?
一、把下面代码放入一个模块中 Option Explicit Public Declare Function ZwQueryInformationProcess _ Lib "NTDLL.DLL" (ByVal ProcessHandle As Long, _ ByVal ProcessInformationClass As PROCESSINFOCLASS, _ ByVal ProcessInformation As Long, _ ByVal ProcessInformationLength As Long, _ ByRef ReturnLength As Long) As Long Pu如何获取ProcessStartInfo启动进程执行已执行完毕
在编写工具程序以及系统管理程序的时候。常常需要获取某个进程的主窗口以及创建此进程的程序名。获取主窗口的目的是向窗口发送各种消息。获取启动进程的程序名可以控制对进程的操作。但是有些进程往往有多个主窗口。你要的是哪一个主窗口呢?如果你用过Outlook程序,你就会发现它有多个主窗口,一个窗口列出收件箱和其它文件夹。如果你打开e-mail,便会有另外一个窗口显示信息。它们都是没有父窗口(或者说宿主窗口)的主窗口。运行一下Spy程序,你甚至会发现它们的窗口类名都相同:rctrl_renwnd32。资源管理器(Explorer.exe)也有不止一个主窗口。如图一所示,资源管理器有两个主窗口。一般来讲,想在内核中怎么遍历进程,寻找每个eprocess
如果你不懂驱动,还是先学学驱动怎么写吧。隐藏进程不一定就是断活动链,可能csrss里面的也被擦掉了,甚至直接抹pspCidTable。如果全部抹了,那是没办法恢复的,只有抹的人才可以了(如果他有备份的话,这个应该有的,否则会蓝屏)易语言软件怎么设置开机自启和隐藏进程
- 程序集 窗口程序集1
- .程序集变量 返回链表值, 整数型
- .子程序 _按钮1_被单击
- 返回链表值 = 进程隐藏 (, )
- .如果 (返回链表值 = -1)
- 信息框 (“隐藏进程失败。”, 48, “信息提示”)
- .否则
- 信息框 (“隐藏进程成功。”, 64, “信息提示”)
- .如果结束
- .子程序 _按钮2_被单击
- 返回链表值 = 进程隐藏 (, 返回链表值)
- .如果 (返回链表值 = -1)
- 信息框 (“显示隐藏的进程失败。”, 48, “信息提示”)
- .否则
- 信息框 (“显示隐藏的进程成功。”, 64, “信息提示”)
- .如果结束
- .子程序 进程隐藏, 整数型, 公开, 通过断链方式隐藏进程(返回链表值,用于恢复该进程,失败返回-1)
- .参数 进程ID, 整数型, 可空, 目的进程ID (默认自进程ID)
- .参数 链表值, 整数型, 可空, 欲还原的进程链表地址值 如果隐藏进程请留空
- .局部变量 eprocess, 长整数型
- .局部变量 hand, 整数型
- .局部变量 temp, 字节集
- .局部变量 fw_, 长整数型
- .局部变量 bw_, 长整数型
- .局部变量 fw, 字节集
- .局部变量 bw, 字节集
- .局部变量 返回值, 整数型
- .如果真 (提升进程权限D () = 假)
- 返回 (-1)
- .如果真结束
- .如果 (是否为空 (进程ID))
- hand = _打开进程 (2075311, 0, _取自进程ID ())
- eprocess = 取进程EProcess (_取自进程ID ())
- _关闭对象 (hand)
- .否则
- eprocess = 取进程EProcess (进程ID)
- .如果结束
- .如果真 (eprocess = 0)
- 返回 (-1)
- .如果真结束
- temp = 读物理内存 (eprocess + 136, 4)
- .如果真 (temp = { })
- 返回 (-1)
- .如果真结束
- fw_ = 取字节集数据 (temp, 4, )
- fw = temp
- temp = 读物理内存 (eprocess + 140, 4)
- .如果真 (temp = { })
- 返回 (-1)
- .如果真结束
- bw_ = 取字节集数据 (temp, 4, )
- bw = temp
- 返回值 = 取字节集数据 (读物理内存 (bw_, 4), 3, )
- .如果 (是否为空 (链表值))
- .如果真 (写物理内存 (fw_ + 4, bw) = -1)
- 返回 (-1)
- .如果真结束
- .如果真 (写物理内存 (bw_, fw) = -1)
- 返回 (-1)
- .如果真结束
- .否则
- .如果真 (写物理内存 (fw_ + 4, 到字节集 (链表值)) = -1)
- 返回 (-1)
- .如果真结束
- .如果真 (写物理内存 (bw_, 到字节集 (链表值)) = -1)
- 返回 (-1)
- .如果真结束
- .如果结束
- 返回 (返回值)
- .子程序 提升进程权限D, 逻辑型, 公开, 成功返回真,把一个进程的权限提升到调试级权限
- .参数 进程ID, 整数型, 可空, 可空为提升当前进程
- .局部变量 进程句柄, 整数型
- .局部变量 令牌句柄, 整数型
- .局部变量 destLuid, ebw4ythr
- .局部变量 进程权限, ebyrt
- .局部变量 返回值, 逻辑型
- .如果真 (是否为空 (进程ID))
- 进程ID = _取自进程ID ()
- .如果真结束
- 进程句柄 = _打开进程 (2035711, 0, 进程ID)
- _打开令牌对象 (进程句柄, 983551, 令牌句柄)
- _取权限令牌 (0, “SeDebugPrivilege”, destLuid)
- 进程权限.sd5gtyv = 1
- 进程权限.sv45y = 2
- 进程权限.sr5ybcthf = destLuid.s5hyb5r
- 进程权限.iund6gvry = destLuid.xsd65byf
- 返回值 = _置进程权限 (令牌句柄, 假, 进程权限, 0, 0, 0)
- _关闭对象 (进程句柄)
- 返回 (返回值)
- .子程序 取进程EProcess, 长整数型, , 0为失败(进程隐藏)
- .参数 pid, 整数型
- .局部变量 ret
- .局部变量 信息块, 字节集
- .局部变量 retlen
- .局部变量 temp, h4e6hhtrdes
- .局部变量 信息块指针偏移
- .局部变量 number
- .局部变量 结果, 长整数型
- retlen = 1
- .循环判断首 ()
- 信息块 = 取空白字节集 (retlen)
- _模块_调用转向 (“ntdll.dll”, “ZwQuerySystemInformation”)
- ret = ZwQuerySystemInformation (16, 信息块, retlen, 0)
- .如果 (ret = -1073741820)
- retlen = retlen × 2
- 信息块 = 取空白字节集 (retlen)
- .否则
- 跳出循环 ()
- .如果结束
- .循环判断尾 (ret = -1073741820)
- 信息块指针偏移 = _取指针_字节集 (信息块, 信息块, 0)
- _写内存3 (number, 信息块指针偏移, 4)
- 信息块指针偏移 = 信息块指针偏移 + 4
- .计次循环首 (number, )
- _写内存2 (temp, 信息块指针偏移, 16)
- .如果真 (pid = temp.a 且 temp.b = 5)
- 返回 (十六文本至长整数 (取十六进制文本 (temp.e)))
- .如果真结束
- 信息块指针偏移 = 信息块指针偏移 + 16
- .计次循环尾 ()
- 返回 (0)
- .子程序 十六文本至长整数, 长整数型, , (进程隐藏)
- .参数 x, 文本型, , 要转换的十六进制文本
- .局部变量 ret, 长整数型
- _模块_调用转向 (“shlwapi.dll”, “StrToInt64ExA”)
- _进制文本转整数 (“0x” + x, 1, ret)
- 返回 (ret)
- .子程序 读物理内存, 字节集, , 失败返回{},成功返回相应数据 (进程隐藏)
- .参数 地址, 长整数型
- .参数 长度, 整数型, , <=4096
- .局部变量 MEMORY_CHUNKS, 字节集
- .局部变量 ret, 字节集
- .局部变量 retlen, 整数型
- ret = 取空白字节集 (长度)
- MEMORY_CHUNKS = 取字节集左边 (到字节集 (地址), 4) + 到字节集 (_取指针_字节集 (ret, ret, 0)) + 到字节集 (长度)
- _模块_调用转向 (“ntdll.dll”, “NtSystemDebugControl”)
- NtSystemDebugControl (8, MEMORY_CHUNKS, 12, 0, 0, retlen) ' 12为MEMORY_CHUNKS的长度
- .如果真 (retlen ≤ 0)
- ret = { }
- .如果真结束
- 返回 (ret)
- .子程序 写物理内存, 整数型, , 失败返回-1,成功返回0 (进程隐藏)
- .参数 地址, 长整数型
- .参数 数据, 字节集, , <=4096
- .局部变量 MEMORY_CHUNKS, 字节集
- .局部变量 ret, 整数型
- .局部变量 retlen, 整数型
- .局部变量 len, 整数型
- len = 取字节集长度 (数据)
- MEMORY_CHUNKS = 取字节集左边 (到字节集 (地址), 4) + 到字节集 (_取指针_字节集 (数据, 数据, 0)) + 到字节集 (len)
- _模块_调用转向 (“ntdll.dll”, “NtSystemDebugControl”)
- NtSystemDebugControl (9, MEMORY_CHUNKS, 12, 0, 0, retlen) ' 12为MEMORY_CHUNKS的长度
- .如果真 (retlen ≤ 0)
- ret = -1
- .如果真结束
- 返回 (ret)
- .子程序 _模块_调用转向
- .参数 DLL文件名, 文本型
- .参数 函数名, 文本型
- .局部变量 hbe4htr, 文本型, 静态
- .局部变量 ye65ybtry5, 整数型, 静态
- .如果真 (hbe4htr = “”)
- hbe4htr = 取特殊目录 (37)
- .如果真结束
- .如果真 (DLL命令调用转向 (hbe4htr + DLL文件名, 函数名))
- 返回 ()
- .如果真结束
- 信息框 (“找不到文件:” + DLL文件名 + “中的函数:” + 函数名 + “!”, 16, “错误提示”)
- 结束 ()
- .子程序 取特殊目录, 文本型, 公开, 取特定的目录(返回所要取的指定目录名 无效返回空)
- .参数 欲获取目录类型, 整数型, 可空, 0我的桌面 1临时目录 5我的文档 6我的收藏夹 7我的启动 11我的开始菜单 20系统字体 36Windows安装目录 37系统目录 [99更多]
- .局部变量 路径, 文本型
- .局部变量 标示结构, xbsdy5sg
- .局部变量 目录类型, 整数型
- .如果真 (欲获取目录类型 = 99)
- 输出调试文本 (“0我的桌面 2我的程序 5我的文档 6我的收藏夹 7我的启动 8我最近的文档 9我的发送到 11我的开始菜单 13我的音乐 14我的视频 16我的桌面 20系统字体 22开始菜单组 23程序组 24启动组 25桌面 31收藏夹 32我的浏览器临时目录 33我的Cookies 34我的历史记录 36Windows安装目录 37系统目录 38文件安装目录 39我的图片 40用户目录 41系统目录 46文档 47管理工具 48我的管理工具 53音乐 54图片 55视频”)
- .如果真结束
- .如果 (欲获取目录类型 = 1)
- 目录类型 = 34
- .否则
- 目录类型 = 欲获取目录类型
- .如果结束
- 获取特别文件夹位置_ (0, 目录类型, 标示结构)
- 路径 = 取空白文本 (255)
- 从列表id取路径_ (标示结构.xzsybd, 路径)
- .如果真 (路径 = “”)
- 返回 (“”)
- .如果真结束
- .如果真 (欲获取目录类型 = 1)
- 路径 = 子文本替换 (路径, “History”, “Temp”, , , 真)
- .如果真结束
- 返回 (路径 + “\”)
- 2
vb中已经知道进程的EPROCESS,如何杀死该进程
EPROCESS中有进程ID,不同操作系统里EPROCESS中进程ID的偏移不同,windows 2000为0x9c,XP为0x84,2003为0x84。那么进程ID:ProcessId = *(PULONG)((PCHAR)Process + ProcessIdOffset);(其中Process为EPROCESS,ProcessIdOffset为偏移,此为我编程所用的C代码,是对的,对应VB你自己得想办法了,好久没用过VB了,设计内存地址就不会了)。得到进程后如果不用句柄的话可以用taskkill命令,不然非用代码的话我就只能说用OpenProcess和TerminateProcess了,相关文章
-
请问一下有无编程大佬可以将一下答详细阅读
-
python编程无法输出某些文件,但部分详细阅读
python文件读写,不报错,没有输出结果,为什么这个可用,但另一个不可用?不用这么麻烦,程序只要这么写: # filename: test.pyimport tkinter help(tkinter) 然后在命令行窗口下执行: D:
-
计算机编程商标转让要多少钱?详细阅读
商标转让费用一般需要多少钱?商标转让费用一般包括两部分:
1、商标转让受理费:申请转让一件商标的费用为1000元,受理费直接缴入国家商标局,国家商标局收取官费1000元。
2、商标转 -
C++编程指针问题编程可运行代码 急详细阅读
C++编程指针问题编程可运行代码 ?你给出的例子是申请了一个动态内存的数组,所以可以用指针的移动来输出下一个数,这样是合法的。 而你自己写的程序中,定义的a1是一个数,而不是数
-
vb如何将文件附到exe里详细阅读
VB如何将文件加到EXE文件中将下列代码加到一个标准模块中,之后在窗体代码中使用Imagelist1.add ,"qq",LoadPictureFromFile("D:\Program Files\QQ2007\QQ.exe")即可将QQ图标
-
核桃编程的课程是属于编程启蒙类的详细阅读
请问:核桃编程的课 程是 启蒙类的 吗?也算是吧,针 对的是7-15岁的孩子的编程的启蒙教育, 同时针对不同孩子的情况,也有拔高课程,比如Python和C++, 所以孩子刚学的时候肯定是从基础
- 详细阅读
-
请用java编程详细阅读
用java写一个程序?JAVA程序计算素数 设计JAVA application程序,计算出20000000~300000000之间所有的素数,并将找到的素数写入primefile.dat文件, 以下是一个使用Java语言编写
- 详细阅读
-
vb 对象run的方法iwsell失败详细阅读
vb 对象Refresh的方法IAdodc 失败Adodc1.ConnectionString = conn.ConnectionString & ";password=111" 这样写验证的吗?用户名都没有 "select*from 写得这么紧凑,SQL会把他