看流星社区

 找回密码
 注册账号
查看: 2264|回复: 0

VC6.0驱动杀进程-发送进程PID到驱动内核-经典驱动通信

[复制链接]

该用户从未签到

发表于 2013-5-5 09:23:46 | 显示全部楼层 |阅读模式
驱动杀进程,现在没啥用,但是我们主要是学习 他的驱动通信方面的代码框架,也就是如何把我们用户层 搞到的 某种数据 发送到驱动层里面。本贴是 把用户层获取的 进程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
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-14 15:50

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表