来说点驱动程序在信息安全方面的事情吧
我们先确定一个概念,驱动程序并不完全都是为了直接驱动硬件的程序,很多时候,它们仅仅只是运行在更高控制权限的代码
例如在驱动安全领域中,企鹅的登录界面在它的密码输入框获得焦点时,将会由一个更底层的驱动程序去截获键盘输入数据,如果你想直接监听密码,这点在用户层其实很难办到,你可能得到的仅仅是一堆被干扰后的密码。
例如下面我实际按的密码是123456789:
但如果我用一个驱动程序从内核中获取按键,那么,事情就变得非常容易了,我就可以「窃取」到正确的输入密码,这里我仍然输入的是123456789:
但这里我不打算过多讨论过滤驱动在信息安全方面的东西,总而言之请不要在电脑上下载安装任何奇奇怪怪的东西。
如果我们不说过滤驱动,如果我就想真正操作硬件怎么办?,估计一些已经深耕多年的非此领域技术大佬也会觉得写驱动非常的高大上,毕竟还有什么能比用软件直接驱动硬件更coooooool的呢?但其实这也很简单,我扫了一眼我的破烂箱:
这,是一个CH9329,下面的4个排针是串口的pin,右边那堆是控制引脚,不用管,它能够模拟HID设备,也就是说,你可以把它当做一个真正的鼠标或键盘(比如下面的DBinary Device)。
因为它的控制引脚是串口,因此,我们需要用串口去控制它,而这,是一个USB转串口
接上杜邦线,连到电脑上,然后我们就可以开始表演了
我们来编写一个简单驱动程序,用它控制CH9329实现一个比过滤驱动层更底层的按键模拟,在这里,实现的是不停的在电脑上输入"hello"
如果我们想用它干坏事,
第一:而它几乎是不可能反作弊程序直接检测的。这也就是为什么压枪硬件挂屡禁不止,难以发现的原因
第二:如果我们用它实现badusb,比如控制电脑输入一些恶意命令,将没有杀毒软件能够阻止它执行(你甚至能用它关掉杀软,因为在计算机看来它和人工操作的并无二异)。
因此,没事也不要给自己电脑插上一些奇奇怪怪的东西。
最后,代码就不附了,如果以后惹出了啥事,千万不要说是这里学来的。