雨中风华
e-mail: fanxiushu@163.com
GITHUB: https://github.com/fanxiushu
能开源免费的都在我的GITHUB或优快云公布了,
其他的源码请勿再询问开源获取,因为问了也白问。
展开
-
Windows蓝牙驱动开发之模拟HID设备(二)(把Windows电脑模拟成蓝牙鼠标和蓝牙键盘等设备)
// 应用层传递下来的相关参数。就这样,经过这么一通修改之后,当我们使用 BRB_REGISTER_PSM 注册任何PSM,都会成功,当然包括0x11和0x13。至此,一个传输就完成了,同时包括接收和发送,应用层只要发送IOCTL_BTH_DATA_TRANSFER 命令到驱动中,当然,可以在应用层封装 IOCTL_BTH_DATA_TRANSFER,把他作为类似 recv,send函数来实现。其中蓝牙模拟HID设备的部分,则是采用过滤USB总线,重定向到 0x11和0x13 这两个值的,从而达到目的。原创 2024-03-25 12:20:36 · 1418 阅读 · 0 评论 -
windows7以上平台 NDISFilter 网卡过滤驱动开发
by fanxiushu 2019-01-16 转载或引用请注明原始作者这里讨论的都是基于WIN7以上平台,NDIS 6.0以上版本的网络驱动。做个驱动的目的,是因为很早之前,我使用 TDI 和 NDIS5.1 框架的...原创 2019-01-16 23:18:24 · 7686 阅读 · 14 评论 -
虚拟摄像头之DirectShow虚拟摄像头开发
by fanxiushu 2018-04-06 转载或引用请注明原始作者。之前优快云上的博客,较多的文章阐述了虚拟摄像头的开发,而且是两种类别的。1,比如使用老的内核流框架开发WDM虚拟摄像头驱动,博客链接:https://blog.youkuaiyun.com/fanxiushu/article/d...原创 2018-04-06 02:21:58 · 19186 阅读 · 43 评论 -
windows无盘启动技术开发之UEFI(新一代BIOS)引导程序开发之一
前面两篇介绍传统BIOS引导程序的时候,讲述了开发传统BIOS引导程序的关键之处:HOOK BIOS INT13H 中断,替换中断服务函数。文章中还说过,这等于是16位模式下的另类的虚拟磁盘驱动。于是,在UEFI开发引导程序,基本上也是同样的开发思路:在UEFI环境下,实现一个虚拟磁盘驱动,这个虚拟磁盘驱动通过网络传输定位到服务器上的系统镜像。UEFI下的这个虚拟磁盘,会被当成一个正常的硬件,再然后,从这个虚拟磁盘找到ESP分区,找到 \EFI\Boot\bootx64.efi引导文件,加载原创 2023-04-04 17:38:38 · 1968 阅读 · 0 评论 -
windows无盘启动技术开发之传统BIOS(Legacy BIOS)引导程序开发之二
UDP发送函数,操作码是 PXENV_UNDI_TRANSMIT(0x08),发送的是包括MAC头在内的链路层数据,因此需要在发送前进行组包处理。UDP接收函数,操作码PXENV_UNDI_ISR(0x14),采用轮询方式接收,其实就是设置死循环查询,当然需要设置一个超时时间,从上文的asm汇编代码片段,在调用 Int13HookEntry 函数之前,压栈了一堆的寄存器,ax,bx。在使用pxe_call_api 基础函数,进一步封装实现UDP收发函数,比如 udp_recv和udp_send 函数之后,原创 2023-03-22 00:21:38 · 680 阅读 · 2 评论 -
windows无盘启动技术开发之UEFI(新一代BIOS)引导程序开发之二
EFI_BLOCK_DEVICE_PATH是我们自己定义的继承自 EFI_DEVICE_PATH 的路径,可直接定义成 MSG_VENDOR_DP 的方式。然后开发UEFI的引导程序,替换掉 原来的 EFI\boot\bootx64.efi就可以,之后就能让整个系统按照读取镜像文件的方式运行。因为在局域网环境中,丢包小的环境中,使用UDP反而更快,数据吞吐量更大,尤其是这种简单的一来一往的磁盘读写请求。所以在开发引导程序的时候,不必按照UEFI规范文档那样阐述的,制作符合UEFI规范的UEFI驱动程序,原创 2023-04-18 18:16:19 · 1802 阅读 · 5 评论 -
WIN10以上平台实现UCX框架的USB虚拟总线驱动(USB主机控制端驱动)
WIN10以上的内核中,微软似乎发现了这样的问题,终于实现了一个UCX基础框架,方便USB虚拟总线驱动的开发。当然,也只能支持WIN10平台,因此下面的内容都是针对win10平台的阐述(当然也同样适用WIN11及以后的升级版本)UCX是 USB Controller Extension的简称,意思是USB主机控制器扩展,其实就是个接口库,与我们应用层理解的dll本质上没有区别。在优快云上前面的文章阐述WIN10 平台的UDE框架(一个纯粹的模拟虚拟USB总线的驱动的框架) ...原创 2022-06-01 14:12:57 · 1987 阅读 · 2 评论 -
WIN10平台基于UDE框架的的虚拟USB总线驱动开发
by fanxiushu 2020-09-18 转载或引用请注明原始作者。关于虚拟USB总线驱动的讲解的内容比较多,时间跨度也比较长。有基于linux平台下如何实现虚拟USB总线驱动的,优快云上的如下链接:https://blog.youkuaiyun.com/fanxiushu/article/details/1029674...原创 2020-09-23 17:20:09 · 2939 阅读 · 9 评论 -
Windows 虚拟摄像头驱动开发之 基于AVstream流内核的摄像头驱动
by fanxiushu 202-03-01 转载或引用请注明原始作者。对于windows平台下的虚拟摄像头实现方式的研究比较多,范围也比较广,曾采用各种方式来实现windows平台下的虚拟摄像头。从优快云上的第一篇文章开始:https://blog.youkuaiyun.com/fanxiushu/article/details/8496747 (虚拟摄像头驱动原理开发)文章描述的是利用老的流内核来...原创 2020-03-02 12:55:00 · 7849 阅读 · 7 评论 -
摄像头过滤驱动
By Fanxiushu ,引用和转载请注明原作者本来是打算做个声卡过滤驱动的,可以用来采集电脑内部的声音,但是网上查的的资料显示,事情不是这么简单,或者我还没掌握其中的处理办法。声卡和摄像头都属于内核流媒体类驱动,属于同一类型。拦截 IOCTL_KS_READ_STREAM 可以截获读取的数据流,拦截 IOCTL_KS_WRITE_STREAM 可以截获写入的数据流。听起原创 2013-04-24 00:04:13 · 4362 阅读 · 14 评论 -
windows虚拟网卡驱动开发
by fanxiushu 2017-04-06 转载或引用请注明原始作者。很早前的文章介绍过windows和linux平台的虚拟网卡技术,详见 http://blog.youkuaiyun.com/fanxiushu/article/details/8526708 http://blog.youkuaiyun.com/fanxiushu/article/details/8526原创 2017-04-06 19:05:24 · 11373 阅读 · 19 评论 -
Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)
by fanxiushu 2019-06-24 转载或引用请注明原始作者。这里与远程桌面关系不是太大,但这个部分是xdisp_virt远程控制程序的实现多显示器桌面扩展的子功能,因此也归为远程桌面开发一类。这篇文章与之前发布的...原创 2019-06-24 20:57:34 · 28556 阅读 · 54 评论 -
USB设备驱动开发之远程访问USB设备(一USB设备数据采集端)
By Fanxiushu 2016 转载或引用本文,请注明原始作者。使用过vmware的人都应该知道,vmware虚拟机有这样的一个功能,当在宿主机上插入一个USB设备的时候,通过设置,可以在vmware的虚拟机系统里边能访问到这个USB设备,而且访问这个USB设备,就跟真的把这个USB设备插入到这个虚拟系统中一样,跟真实的几乎没任何区别。再看一种情况,假设有两台机原创 2016-05-15 23:14:51 · 19313 阅读 · 43 评论 -
USB设备驱动开发之远程访问USB设备(二 USB设备虚拟端)
By Fanxiushu 2016-05-22 转载或引用请注明原始作者接上文,在处理好USB数据采集端的问题之后,接下来进入核心的部分,虚拟USB设备端的开发工作。上文简单介绍过,需要开发虚拟总线驱动来模拟USB设备。所谓虚拟总线驱动,就是安装于System系统设备下的一个驱动,由PnP管理器创建出一个虚拟的总线PDO设备,我们的虚拟总线驱动Attach到这个PDO上,形成一原创 2016-05-24 22:31:51 · 10528 阅读 · 40 评论 -
USB设备驱动开发之远程访问USB设备( 三 虚拟USB控制器和根集线器)
By Fanxiushu 2016-05-25 转载或引用请注明原始作者接上文,通过应用层程序发送 CreatePDO IOCTL命令到总线驱动,让总线驱动直接创建一个虚拟USB设备的PDO,所有发送到这个PDO的URB请求最终被转发到应用层程序,由应用层程序通过网络转发到真正的USB设备端进行数据处理,并且最终把处理的数据结果回传给总线驱动。采用这样的工作模式的虚拟USB原创 2016-06-01 22:36:20 · 9984 阅读 · 23 评论 -
USB设备驱动开发之扩展(利用USB虚拟总线驱动模拟USB摄像头)
fanxiushu 2016-10-08 转载或引用,请注明原始作者做这个事情写这篇文章之前,压根没朝模拟USB摄像头这方面去想过。直到优快云上一位朋友提出问题,才想到还有这么一个玩意。因此花了4,5天时间,利用自己之前开发的USB驱动,实现了一个虚拟USB摄像头的实例代码。稍后会公布到优快云上。记得最早的一篇文章也是介绍虚拟摄像头驱动的开发的,只是当时采用的是wi原创 2016-10-08 23:24:04 · 19398 阅读 · 21 评论