- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
驱动杀进程,现在没啥用,但是我们主要是学习 他的驱动通信方面的代码框架,也就是如何把我们用户层 搞到的 某种数据 发送到驱动层里面。本贴是 把用户层获取的 进程PID 发送到驱动层,然后驱动层再把这个进程PID结束掉。。即驱动层里面结束某进程。
驱动通信的核心代码如下:主要是调用了api函数DeviceIoControl 。
关于此函数 百度百科 解释很详细:http://baike.baidu.com/view/1288761.htm
void CLoadsysDlg::OnButton1()
{
ULONG Null2;
//以下为获取文本框上的进程PID 数值
char zifu[260];//声明一个字符串变量
int PID;
GetDlgItemText(IDC_EDIT1,zifu,260);//获取 编辑框上的内容 保存到zifu这个字符串变量里面
PID=atoi(zifu); //把 字符串转 化为整数
//以下为VC6.0发送 进程PID 到内核里面
DeviceIoControl(hDevice, MyCode, &PID, 4,0,0, &Null2, NULL); //发送进程PID 到 内核驱动层 里面去
//hDevice驱动设备句柄
// MyCode控制码
// &PID变量PID的内存地址(发送到驱动层去的)
// 变量的内存的长度,因为int 所以是 4字节
}
附件内包含了全套源码: 驱动ring0源码+VC6程序ring3源码+成品
由于没有 HOOK ,也没有函数序号等,所以支持 win7 32 位和 xp 系统。
本驱动源码,没有自定义头文件等复杂东东,但是也可以驱动通信,非常的精简,是一个不错的菜鸟级学习资料。
http://pan.baidu.com/share/link?shareid=518853&uk=3895950538 |
|