自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fanxiushu的专栏

https://github.com/fanxiushu

  • 博客(105)
  • 资源 (28)
  • 收藏
  • 关注

原创 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 236

原创 Windows蓝牙驱动开发之模拟HID设备(一)(把Windows电脑模拟成蓝牙鼠标和蓝牙键盘等设备)

PIRP irp = IoBuildDeviceIoControlRequest(IOCTL_BTH_SDP_SUBMIT_RECORD, ///// 发布SDP的 IOCTL。////调用我们的函数,初始化有新客户端连上的各种结构,并且回复客户端。//调用同步提交BRB函数,我们响应 IndicationRemoteConnect 请求,在这个请求中,我们需要构建 _BRB_L2CA_OPEN_CHANNEL 的 BRB,/////client是我们新建的结构体,代表一个蓝牙连接。

2024-03-15 11:58:56 1427

原创 linux平台的无盘启动开发

//完整接收size长度的数据,如果我们这时候登录到linux,会神奇的发现,像 /etc, /lib ,/bin ,/usr/lib 等目录就已经存在,而且里边有对应的文件了。当然,同样的,bios引导阶段,会加载linux的引导程序,这个一般都是grub引导程序(当然可能也有其他引导程序,但是目前以grub为主),但是linux和windows的启动过程,有非常巨大的区别,这就造成了上面的第2个步骤中,开发的虚拟磁盘驱动的天差地别。

2023-10-15 21:28:46 810 1

原创 linux平台实现虚拟磁盘驱动(通用的块设备驱动和基于SCSI的磁盘驱动)

struct Scsi_Host *sh = scsi_host_alloc(&nbt_scsi_driver_template, sizeof(自己定义的私有结构体大小));这时候 scsi_host_template 里边对应的 queuecommand 回调函数就会被调用,用来处理具体的SCSI磁盘的SCSI请求。然后响应 一些关于磁盘的特殊IOCTL, 同时响应 IRP_MG_READ和IRP_MJ_WRITE的读写磁盘扇区请求。

2023-08-16 23:44:26 1008 4

原创 windows无盘启动技术开发之使用本地镜像文件启动电脑

实现NTFS文件系统的代码也必须放到固定扇区中,就像 windows中的ntldr,bootmgr等这些引导程序一样。UEFI引导程序没啥好说的,都一样的工作量,无非是把 NTFS-3G换成了ext4,ext4开源代码肯定更多。我们还得通过共享内存的手段,把UEFI访问的镜像文件名等参数,传递给 windows下的虚拟磁盘驱动。当然,原理一样,传递的参数等各方面都不同。自然,如果遇到某些其他情况,磁盘控制器驱动是第三方的,而且并没有集成到windows的内核包中,

2023-07-26 17:39:53 2208 1

原创 windows无盘启动技术开发之不同网卡使用同一个启动镜像的问题

因此要在 boot-start 阶段正常进行网络通信,网卡驱动也必须是start==0, 而默认情况下,网卡驱动基本都是start=3,简单的说,Boot-Start阶段可以没有磁盘,但是必须在这个阶段建立起磁盘,能让windows进入下一个阶段前,正常访问磁盘。这是因为windows系统中,不同插槽位置,可能会生成不同的实例串,而一号插槽位置的网卡驱动生成的实例串与二号的不同。因此,作为windows系统盘的磁盘驱动,必定是在boot-start阶段(也就是注册表中start==0)的驱动。

2023-07-14 13:46:14 1218 4

原创 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 1336 5

原创 windows无盘启动技术开发之UEFI(新一代BIOS)引导程序开发之一

前面两篇介绍传统BIOS引导程序的时候,讲述了开发传统BIOS引导程序的关键之处:HOOK BIOS INT13H 中断,替换中断服务函数。文章中还说过,这等于是16位模式下的另类的虚拟磁盘驱动。于是,在UEFI开发引导程序,基本上也是同样的开发思路:在UEFI环境下,实现一个虚拟磁盘驱动,这个虚拟磁盘驱动通过网络传输定位到服务器上的系统镜像。UEFI下的这个虚拟磁盘,会被当成一个正常的硬件,再然后,从这个虚拟磁盘找到ESP分区,找到 \EFI\Boot\bootx64.efi引导文件,加载

2023-04-04 17:38:38 1453

原创 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 508 2

原创 windows无盘启动技术开发之传统BIOS(Legacy BIOS)引导程序开发之一

而如果,我们把 13H中断的中断服务函数给替换掉,替换成我们的常驻内存的函数入口,而这个函数则通过PXE通信,把磁盘读写请求重定向到服务器端。这样不管是 MBR引导程序,ntldr,bootmgr等,通过INT 13H读写磁盘的时候,其实是通过我们的函数重定向到了服务器端。这个就是我们开发引导程序的最主要和核心的功能。其实,从另一个角度去理解,这就是一个在16位的实模式下另类的虚拟磁盘而已。

2023-03-01 21:38:09 1836

原创 Windows 虚拟磁盘驱动开发(采用原始办法实现类似Storport框架的相同功能)

为何想到要用原始办法来开发类似Storport框架的虚拟磁盘驱动?估计是闲的蛋疼吧。又或者为了彰显曾经无法理解和实现的,现在具备了一定基础,再来实现,却发现变得异常的简单。记得以前开发winxp下的Scsiport框架的虚拟磁盘驱动,非常的麻烦,不但要解决虚拟模拟部分,安装驱动电脑还得重启好几次才能安装成功。

2023-01-13 21:33:11 1551

原创 windows平台使用NSP拦截具体进程的域名解析过程(xFsRedir的代理功能之域名代理)

NSP的大致实现办法:我们需要开发一个dll动态库,这个动态库必须导出 NSPStartup 接口函数,而在这个接口函数中,会提供 NSP_ROUTINE 结构的参数,里边我们必须填写正确对应的回调函数,其中包括三个核心函数:NSPLookupServiceBeginNSPLookupServiceNextNSPLookupServiceEnd只要dns查询接口函数发起调用,这三个核心函数就会被调用。于是我们在此回调函数中就能找到dns域名和具体进程的对应关系。

2022-10-17 18:03:52 1595

原创 Windows远程桌面实现之十三:浏览器客户端使用WebRTC传输,TCP的TURN中转传输(三)

写这篇文章正是基于以上各种网络通信原因,不得不实现 WebRTC中的TCP的TURN中转通信,从而达到在浏览器端既能使用video标签进行高效渲染,也能很大程度上解决某些受限制的网络环境也能正常使用的问题。总结起来就一点:在xdisp_virt中实现WebRTC的 TURN的TCP传输。使用的webrtc依然是开源的亚马逊WebRTC。不过TCP的TURN服务端是需要自己实现,因为我需要把它同 websocket,http/https等协议集成到同一个端口中,这样使用起来更加方便。...

2022-07-14 20:12:15 1934

原创 WIN10以上平台实现UCX框架的USB虚拟总线驱动(USB主机控制端驱动)

WIN10以上的内核中,微软似乎发现了这样的问题,终于实现了一个UCX基础框架,方便USB虚拟总线驱动的开发。当然,也只能支持WIN10平台,因此下面的内容都是针对win10平台的阐述(当然也同样适用WIN11及以后的升级版本)UCX是 USB Controller Extension的简称,意思是USB主机控制器扩展,其实就是个接口库,与我们应用层理解的dll本质上没有区别。在CSDN上前面的文章阐述WIN10 平台的UDE框架(一个纯粹的模拟虚拟USB总线的驱动的框架) ...

2022-06-01 14:12:57 1661 2

原创 Windows远程桌面实现之十三:浏览器客户端使用WebRTC传输,以及WebRTC和MSE渲染显示(二)

by fanxiushu 2022-03-12 转载或引用请注明原作者。接上文。我们先来编译kvswebrtc开源代码。首先得从github下载 ksvwebrtc源码,分别需要 amazon-kinesis-video-streams-pic, amazon-kinesis-video-streams-producer-c,amazon-kinesis-video-streams-webrtc-sdk-c 三个,其中amazon-kinesis-video-streams-producer-c.

2022-03-13 16:59:55 4656

原创 Windows远程桌面实现之十三:浏览器客户端使用WebRTC传输,以及WebRTC和MSE渲染显示(一)

by fanxiushu 2022-01-17 转载或引用请注明原始作者。在前面阐述windows远程桌面实现的一系列文中,其实主要阐述的内容是如何采集桌面图像和电脑声音为主,包括windows下的各种采集方式,linux平台,macOS平台,iOS平台,所以基本上70%-80%的内容,都是跟”采集“相关的, 而对网络传输,讲述的内容比较少,也就是在第六章,提到xdisp_virt的新版本框架的时候,提到了网络通信框架。Windows远程...

2022-01-18 15:39:33 3212

原创 Windows远程桌面实现之十二:桌面屏幕通过ONVIF协议与NVR等监控录像设备对接,以及进一步增强直播功能

by fanxiushu 2021-10-27 转载或引用请注明原始作者。标题还是取名叫 “Windows远程桌面实现“,其实经过全面的移植,xdisp_virt程序已经支持 macOS系统,各类linux发行版,(iOS也移植了,只是发布iOS的程序实在是麻烦,所以并没发布出来,暂时也没有对应的Android手机,所以Android系统暂时也没有移植)所以xdisp_virt已经不再是单一的Windows版本的程序了,标题中还保持”Windows“,是因为讲述这个系列的文章比较多。本文讲述在x

2021-10-28 12:18:08 5117

原创 xFsRedir程序2021年09月更新(进一步扩展虚拟局域网和代理功能)

by fanxiushu 2021-09-30 转载或引用请注明原始作者。其实xFsRedir项目的开发的文章也是一个系列,而且持续的时间比 xdisp_virt 项目更久,只是文章的标题取得有点乱七八糟的, 容易让人看不出来。xFsRedir的本次更新主要集中在虚拟局域网和代理功能上。主要包括:1,修改驱动和应用层 ,用以支持不同网段的局域网组网的功能,2,修改驱动和应用层,调整和扩展NAT路由以及网络代理功能。3,修...

2021-09-30 17:55:37 555

原创 macOS和Linux系统中的虚拟网卡(xFsRedir虚拟局域网功能扩展之其他平台的实现)

by fanxiushu 2021-07-07 转载或引用请注明原始作者。今年早些时候,实现了xFsRedir的虚拟局域网功能,包括普通的创建独立的虚拟节点组建的虚拟局域网,也包括跟同网段的真实局域网混合到一起的混合网络。前段时间实现的 NAT路由功能,以及根据各种过滤条件进行网络重定向(网络代理)的功能。(有兴趣可以去 https://github.com/fanxiushu...

2021-07-07 17:24:22 2850

原创 xFsRedir程序的NAT网关,以及网关代理和本机代理功能的使用简介(2021年6月更新)

by fanxiushu 2021-06-01 转载或引用请注明源作者xFsRedir程序的开发周期最长,功能也越来越丰富,基本都是大家在使用windows电脑中经常需要使用到的功能(至少我是这样)。比如多台电脑文件目录共享问题,尤其是各种不同平台,有时还需要把整块磁盘共享出来,尤其是需要经常访问视频文件,游戏文件这类体量非常庞大的文件群,使用专门的存储设备,总比放到笔记本这类存储容量有限的电脑中好。至于xFsRedir目录重定向功能和虚拟磁盘功能,CSDN上的文章已经讲述的非常多了,这里不再赘

2021-06-01 20:18:02 652 3

原创 底层IP数据包如何组装成应用层SOCKS5代理协议(xFsRedir功能之NAT网关和网关代理)

by fanxiushu 2021-04-13 转载或引用请注明原始作者。正如上篇文章所描述的那样,在xFsRedir软件中使用WFP驱动框架实现了虚拟局域网功能(包括创建虚拟局域网节点和桥接到真实局域网),还打算利用现成的WFP驱动,再实现点别的什么功能。因为WFP足够强大,只实现虚拟局域网还没压榨完WFP的价值,于是想到了代理。而且只需要在我原来的虚拟局域网驱动稍作修改,...

2021-04-15 14:42:45 2002

原创 windows平台xFsRedir程序2021年2月更新(添加虚拟局域网功能)

by fanxiushu 2021-020-20 转载或引用请注明原始作者相信大家对真实的局域网都不陌生,一个公司,一个家庭,甚至一台电脑上使用vmware虚拟机都可以组建起一个局域网。这些局域网通过NAT连接到上一级网络,然后再上一级,再上一级。。。直到连接到主干网,当然有些设备非常幸运,分配的IP地址,可以在主干网中畅...

2021-02-22 13:28:56 1068 12

原创 windows平台xFsRedir目录重定向程序2020年更新

by fanxiushu 2020-12-09 转载或引用请注明原始作者今年对xFsRedir程序的更新幅度是比较大的.首先在大概4月份的时候,增加了基于更底层的虚拟磁盘驱动来替换主驱动xfs_redir.sys内嵌的简单虚拟磁盘功能。而这次的更新则是增加了文件重定向功能,增加了特殊程序才能使用重定向的功能...

2020-12-10 16:39:12 1050 10

原创 基于WFP等网络驱动实现局域网内所有设备通过代理上网

by fanxiushu 2020-10-13 转载或引用请注明原始作者开始之前,我们先来理解标题是什么意思。这里所说的局域网内的所有设备通过代理上网,并不是在每台设备上安装某个代理软件然后再通过代理服务端来上网。而是所有这些设备的网关IP设置到某个主机上,这样所有设备的网络数据都会转发到这个主机上。而这个主机的软件再通过代理服务端转发所有这些设备的网络数据...

2020-10-15 15:58:29 2929 2

原创 WIN10平台基于UDE框架的的虚拟USB总线驱动开发

by fanxiushu 2020-09-18 转载或引用请注明原始作者。关于虚拟USB总线驱动的讲解的内容比较多,时间跨度也比较长。有基于linux平台下如何实现虚拟USB总线驱动的,CSDN上的如下链接:https://blog.csdn.net/fanxiushu/article/details/1029674...

2020-09-23 17:20:09 2430 7

原创 在视频中实现图像特效

by fanxiushu 2020-06-24 转载或引用请注明原始作者。说起图像特效,可以打开Photoshop软件,里边有个”滤镜“菜单,再到”滤镜“里边,可以看到的是各种形形色色的效果,比如各种扭曲效果啊,模糊效果啊,油画效果啊等等。Photoshop处理的是单张图片,不是视频(视频可以简单理解成连续不断更迭的多张图片),而这些特效算法也较复杂,耗时也长 。...

2020-06-24 19:46:23 1182

原创 WIN10系统 Indirect Display 虚拟显示器之特殊应用

by fanxiushu 2020-05-20 转载或引用请注明原始作者。有人询问我是否可以实现这样一种功能:对windows输出的每一帧图像数据显示做一些特殊处理(比如球形桌面,曲面化等特效),然后再显示到显示器上。而且还不止一个人这样咨询过,虽然我不大清楚这种需求具体用在何处,估计也是一些特殊场所。这种需求,最先想到的,也最直观的想法就是能否给显卡驱动添加一个过滤驱动,然后拦截图像数据,然后再做些特殊处理。可惜想法是美好的,却是难以实现的,甚至是不大可能实现的。首先windows中就没显卡过

2020-05-20 16:25:24 16660 11

原创 磁盘的GPT分区表(解决xFsRedir目录重定向程序中一个扩展虚拟磁盘子功能的兼容问题)

by fanxiushu 2020-05-18 转载或引用请注明原始作者。平时也不大关注磁盘的分区参数等信息,只是最近在更新xFsRedir程序的时候,想要使用底层的storport框架的虚拟磁盘驱动代替基于直接IO的简单模型的虚拟磁盘驱动,这样做的目的是为了让虚拟出来的磁盘更接近操作系统需求,更能欺骗windows把它当成真正的磁盘。xFsRedir的使用请去GITHUB下载:https://github.com...

2020-05-18 19:30:11 823 8

原创 USB虚拟总线驱动开发扩展之(利用虚拟USB总线驱动实现U盘模拟)

by fanxiushu 2020-03-25 转载或引用请注明原始作者。USB虚拟总线驱动的使用范围是非常广泛的,可以使用它来模拟各种通用的USB设备。以前的文章阐述过基于windows平台和基于linux平台中的USB虚拟总线驱动开发,比如如下链接阐述的是在linux平台中的虚拟USB总线驱动开发原理:https://blo...

2020-03-25 21:43:38 3695 7

原创 Windows 虚拟摄像头驱动开发之 基于AVstream流内核的摄像头驱动

by fanxiushu 202-03-01 转载或引用请注明原始作者。对于windows平台下的虚拟摄像头实现方式的研究比较多,范围也比较广,曾采用各种方式来实现windows平台下的虚拟摄像头。从CSDN上的第一篇文章开始:https://blog.csdn.net/fanxiushu/article/details/8496747 (虚拟摄像头驱动原理开发)文章描述的是利用老的流内核来...

2020-03-02 12:55:00 7019 8

原创 Windows远程桌面实现之十一:桌面屏幕通过各种直播服务端直播(RTSP, RTMP, HTTP-FLV, HLS)

by fanxiushu 2020-01-23 转载或引用请注明原始作者。此文还是基于xdisp_virt远程项目中的一个子功能。在把xdisp_virt移植到各种平台之后,就想着再做点什么新功能,于是干脆再次增强原先实现的直播推流功能,在xdisp_virt程序中集成直播服务端,这样可以...

2020-01-23 22:33:26 4577

原创 Windows远程桌面实现之十 - 移植xdisp_virt之Linux(Utunbu,CentOS等)屏幕截屏,键鼠控制,声音 摄像头采集(四)

byfanxiushu 2019-12-30转载或引用请注明原始作者。前几章介绍xdisp_virt移植的时候,分别阐述了xdisp_virt移植整个工程,iOS平台相关的各种数据采集,macOS平台相关的各种数据采集。这篇文章阐述Linux平台下的桌面图像数据采...

2019-12-30 20:12:47 2055 2

原创 Windows远程桌面实现之十 - 移植xdisp_virt之macOS系统屏幕截屏,鼠标键盘控制,声音 ,摄像头采集(三)

by fanxiushu 2019-12-22 转载或引用请注明原始作者。前一篇文章描述的是iOS平台下的相关内容的采集(包括屏幕,声音,摄像头等),这一篇即将阐述的是macOS系统下的同样内容,同时还包括鼠标键盘的模拟控制。同样的,如果对xdi...

2019-12-23 11:18:04 1686

原创 Windows远程桌面实现之十 - 移植xdisp_virt之iOS平台屏幕截取,声音采集,摄像头采集(二)

byfanxiushu 2019-12-13转载或引用请注明原始作者。接上文,虽然这篇文章阐述的还是以xdisp_virt项目的移植为基础,但是这里主要描述的是iOS平台下的屏幕图像数据截取,摄像头图像采集,app内部声音和麦克风声音采集,基本上是通用的。所以如果对xdisp_virt没兴趣,可以...

2019-12-13 16:17:48 964

原创 Windows远程桌面实现之十 - 把xdisp_virt项目移植到iOS,macOS,linux平台(一)

by fanxiushu 2019-12-06 转载或引用请注明原始作者。xdisp_virt项目到目前为止,持续了两年多时间,几乎都是在windows平台下的实现各种功能,因为持续时间比较长,能想到的功能都给添加到xdisp_virt中了,尤其在windows截屏这部分,为了更好的截取windows桌面屏幕数据,能想到的都想办法实现了。为了支持全屏3D游戏,添加了DXHOOK动态库,为了...

2019-12-06 19:39:17 1531

原创 linux平台实现USB虚拟总线驱动二(把驱动移植到Android系统)

byfanxiushu 2019-11-07 转载或引用请注明原始作者。接上文,把上文中开发的驱动移植到android系统中来。因为我身边没有Android系统的设备,很疑惑,目前确实没有。因此只好在模拟器上打主意了,我想模拟器跟真机其实差不多的,没道理模拟器能移植成功,而真机无法移植成功。要移植驱动,需要重新编译Android系统的linuxkernel源码,重新替换原来的ker...

2019-11-08 11:20:05 1017

原创 linux平台实现USB虚拟总线驱动一(原理以及开发流程)

by fanxiushu 2019-11-07 转载或引用请注明原始作者。之前的文章阐述过在windows平台下,如何实现USB虚拟总线驱动,以及如何在windows平台采集真实USB设备的数据,然后通过网络传输,达到 ”延长“ USB线缆的效果。相关链接如下:https://blog.csdn.net/fanxi...

2019-11-08 09:57:32 3315

原创 windows平台xFsRedir目录重定向程序2019年更新

by fanxiushu 2019-08-12 转载或引用请注明原始作者。使用过xFsRedir程序的人大概都知道这个程序是做什么用的。它把各种服务端的文件夹也就是目录,映射到本地某个文件夹中,而且操作这个被重定向的文件夹就跟本地文件系统一样...

2019-08-13 08:20:59 2195 37

原创 Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)

by fanxiushu 2019-06-24 转载或引用请注明原始作者。这里与远程桌面关系不是太大,但这个部分是xdisp_virt远程控制程序的实现多显示器桌面扩展的子功能,因此也归为远程桌面开发一类。这篇文章与之前发布的...

2019-06-24 20:57:34 26796 50

原创 Windows桌面实现之八(DirectX HOOK 方式截取特殊的全屏程序之二)

by fanxiushu 2019-04-18 转载或引用请注明原始作者。接上文。WIN7以上系统WDDM虚拟显卡开发(WDDM Filter/Hook Driver 显卡过滤驱动开发之一) 这篇文章,曾经提到过:windows的应用程序中,绘图的基础图形库包括...

2019-04-21 00:42:41 13297 32

基于windows,macOS,linux等平台的远程桌面控制程序2020年最新版本(版本三)

这是基于windows,macOS,linux等平台的远程桌面控制程序最新版本(版本三)。 提供远程控制,支持摄像头,多路音频,推流,集成各种直播服务端。 以及能在远程桌面顺畅的观看视频,玩游戏等多媒体娱乐功能。 被控制端支持的平台包括 windows系列(从 XP,WIN7, WIN8, WIN10)。 控制端支持原生客户端,也支持网页客户端。 网页客户端支持的浏览器包括Chrome,FireFox,Apple Safari,Microsoft Edge,Opera等具备现代功能的浏览器, 不支持IE以及IE内核浏览器。网页客户端不限平台,几乎所有操作系统平台都支持(包括移动平台和PC平台)。 网络传输既支持不加密的明文传输;也支持SSL加密传输,为数据传输带来安全保证。 GITHUB上的下载地址: https://github.com/fanxiushu/xdisp_virt 此软件的技术实现过程及其原理,请查阅CSDN上与此相关的十多篇BLOG文章。

2020-01-30

xFsRedir目录重定向程序2019年更新版本(版本三)

这是windows平台xFsRedir目录重定向程序2019年更新版本。 xFsRedir实现各种异构的服务器端文件夹的通过各种通讯方式集中映射和管理, 同时提供镜像(光驱和硬盘分区)通过各种通讯方式映射到虚拟磁盘等功能。 更新日志: https://blog.csdn.net/fanxiushu/article/details/99402380 也可直接到GITHUB下载最新版本。 2019 fanxiushu

2019-08-30

基于浏览器控制的windows远桌面控制程序最新版本(版本二)

这是基于windows平台的远程桌面控制程序最新版本(版本二)。 提供远程控制,支持摄像头,多路音频,推流, 以及能在远程桌面顺畅的观看视频,玩游戏等多媒体娱乐功能。 被控制端支持的平台包括 windows系列(从 XP,WIN7, WIN8, WIN10)。 控制端支持原生客户端,也支持网页客户端。 网页客户端支持的浏览器包括Chrome,FireFox,Apple Safari,Microsoft Edge,Opera等具备现代功能的浏览器, 不支持IE以及IE内核浏览器。网页客户端不限平台,几乎所有操作系统平台都支持(包括移动平台和PC平台)。 网络传输既支持不加密的明文传输;也支持SSL加密传输,为数据传输带来安全保证。 相关博客: https://blog.csdn.net/fanxiushu/article/details/81905680 http://blog.csdn.net/fanxiushu/article/details/78869719 fanxiushu 2017-2018

2018-08-21

利用ffmpeg实现RTSP,RTMP推流以及保存到本地录像文件

这是从 xdisp_virt项目剥离出来的, 实现 实时的 H264 + AAC 编码 音频和视频的 RTSP, RTMP协议推流, 以及保存到本地MP4,MKV录像文件。 如果要成功编译, 需要下载和编译ffmpeg库,libfdk-aac库,x264库。 编译这些库,非常耗时。如果懒得去编译, 可以直接使用已经编译好的stream_push.dll动态库。 stream_push目录是实现核心推流和保存本地录像工程, demo目录是简单的调用例子,简单实现了抓取屏幕然后推流到RTSP,RTMP服务器,以及保存到本地。 bin目录是已经编译好的二进制文件. 有兴趣可查看BLOG: https://blog.csdn.net/fanxiushu/article/details/80996391

2018-07-12

xFsRedir目录重定向2018年更新版本

这个是xFsRedir目录重定向程序的2018年更新版本。 更新日志请查阅: https://blog.csdn.net/fanxiushu/article/details/80289261 fanxiushu 2018

2018-05-15

OneDrive-xFsRedir 类似文件系统操作函数集合

源代码属于xFsRedir项目工程的一部分。 xFsRedir是在windows平台下实现目录重定向,也就是把多个异构的网络文件系统集中到windows进行访问。 详细信息请查阅 https://blog.csdn.net/fanxiushu/article/details/80289261 ---------------------------------------------------- 源代码实现了OneDrive客户端接口函数集合, 导出的接口函数类似于操作系统的文件操作函数。 实现的接口大致如下, onedrive_find_open/onedrive_find_next, 类似 FindFirstFile和FindNext函数, onedrive_stat,类似GetFileInformationByHandle等获取文件属性的函数, onedrive_mkdir, 类似CreateDirectory创建目录函数 onedrive_delfile,类似DeleteFile和RemoveDirectory等删除函数。 onedrive_upfile,更新整个文件到服务端, onedrive_offset_read, 类似ReadFile等函数, ------------------------------------------------------- 源代码支持多个平台编译,支持平台包括: Windows,linux, MacOS,iOS. Andriod平台暂时没做移植,有兴趣的话,可自行移植。 windows 使用VS2015编译, linux, macOS打开终端,进入onedrive-xfsredir目录,make 即可编译生成onedrive-xfsredir实例程序。 iOS程序在macOS中打开Xcode来编译。当前编译的Xcode是 9.3 版本。 源代码需要使用libcurl开源库,windows和iOS已经编译成静态库。 fanxiushu 2018

2018-05-12

DirectShow虚拟摄像头工程

这是基于DirectShow的虚拟摄像头驱动源代码工程, 此工程采用从零开发,采用非常原始的方法实现COM基础组件和IBaseFilter,IPin等接口功能。 不依赖 DSHOW的SDK库就可以编译运行, 本代码工程使用VS2015编译。 如果你不喜欢,或者不想去了解DirectShow的工作原理, 大可不必理会我这种比较“疯狂”的做法,也不必下载我的这份代码给你平添无谓的烦恼。 source目录是工程目录, bin是已经编译好的dll,可以调用register.bat注册,调用unregister.bat注销. 注册成功后,使用DirectShow框架的程序就可以发现并访问这个虚拟摄像头,比如QQ,amcap等。 本工程详细原理介绍,请看如下链接: https://blog.csdn.net/fanxiushu/article/details/79830750 Fanxiushu 2018

2018-04-06

基于浏览器控制的windows远桌面控制程序

这是抓取windows平台桌面屏幕和摄像头图像,以及音频的远程控制程序。 可以在各个平台的浏览器中直接进行控制, 支持的浏览器包括 chrome,firefox, safari, opera, Microsoft Edge等,(不支持IE,对IE11只是有限支持) 被控制端支持的平台包括 windows系列(从 XP,WIN7, WIN8, WIN10)。 也支持原生的客户端程序,只是本次没有把客户端提供出来。 相关博客: http://blog.csdn.net/fanxiushu/article/details/78869719 Fanxiushu 2017

2017-12-22

Macbook Pro2017 13寸的windows触摸板驱动

本驱动目的是替换Apple的AppleSPITrackpad驱动,实现自己熟悉的手势功能。 在 macbook pro 2017版13寸带bar的机器测试成功, bootcamp版本是 6.1.6183.0, Apple SPI Device 总线驱动日期 2016/5/26, 版本 6.1.6500.0 其他型号的mac机器没有测试过。 驱动实现的功能一个5个 1,一个手指按住触摸板任意位置,另一个手指移动来达到拖动效果 2,一个手指轻点或者一个手指按下触摸板,模拟鼠标左击 3,两个手指轻点,或者一个手指按住触摸板右边3/4-4/4位置,模拟鼠标右击 4,双指同时移动来模拟滚轮滚动 5,三指拖移。 相关博客链接: http://blog.csdn.net/fanxiushu/article/details/78396021

2017-10-31

windows平台抓屏源代码

镜像驱动没有提供源代码,但是可以安装运行,64位驱动需要签名才能安装。 xdisp_virt.cpp和.h 文件实现了三种抓屏源代码, GDI抓屏没有实现鼠标绘制,若你有兴趣可自行扩展。 代码提供了JPEG流方式在浏览器中显示远程桌面。 启动xdisp_virt.exe之后,在浏览器(firefox,chrome)中输入 http://IP:8000, 就能看到程序运行机器的桌面效果。 相关博客查看 http://blog.csdn.net/fanxiushu/article/details/76039801 等连接。

2017-07-25

linux平台利用VFS实现目录重定向驱动

这个是Linux平台利用VFS开发新文件系统来实现目录重定向, 代码包括驱动和应用层部分, 驱动分别在 rhel 6.5(内核2.6)和rhel 7.2(内核3.10) 编译测试, 其他内核版本可能会稍微做些修改。 应用层使用FTP协议来连接FTP服务端。 相关文章请看如下链接, http://blog.csdn.net/fanxiushu/article/details/52681705 有兴趣可下载来看看。

2016-09-28

FTP服务端代码,支持多平台

这个是花几天时间实现的FTP服务端代码,采用多线程方式处理请求, 根据FTP本身的局限性,大部分FTP服务端能应付几百人同时在线就可以了,多线程方式是开发速度和FTP特性的折中。 C++语言开发,vs2013工程,虽然开发环境是windows, 但是代码短小简洁,支持跨平台。 不做修改或者做很少修改,即可运行在 windows,linux,MacOS, iOS, andriod等平台。 下一个即将上传的资源就是利用这个代码,在iOS手机开启FTP服务,并且把手机相册映射成一个虚拟目录,提供给FTP客户端工具共享。

2016-03-21

CSDN-TCP基于数据包通讯框架

这个工程是基于TCP长连接的包模式的网络通讯框架。 在TCP连接中,按照一个一个的包方式进行数据传输, 框架实现了可以同时侦听多个端口, 每个数据包既可以不压缩传输,也能支持zlib压缩和blowfish加密传输。 服务端提供三种线程池来进行tcp连接处理, 一类是接收线程池,接收线程池获取每个socket传输来的数据包, 同时保证每个socket的包按照到来的顺序进行处理, 二类是工作线程池,由接收线程池把接收到的数据包投递到工作线程池, 工作线程池专门处理这些接收到的数据包。 三类是发送线程池,当工作线程池处理完这些数据包,确定需要发送处理结果数据包到客户端, 或者其他线程需要发送数据包到客户端,他们首先把数据包投递到发送线程池, 发送线程池专门负责数据包的发送。 框架同时提供了每个客户端的定时器功能,在服务端内部各个socket之间数据通信等。 框架来源于一个没做完的手游服务端,至于没有使用现成的游戏通讯框架而自己实现, 主要是因为习惯了自己造轮子。 因为项目没做完,所有没进行严格的测试,无法保证代码无BUG。 您若要使用到自己的项目中,请完全熟悉了之后再用,这样出现BUG也好自己修改。 框架支持 Linux和windows平台。 相关BLOG请看如下连接: http://blog.csdn.net/fanxiushu/article/details/50631626

2016-02-03

iOS简单的本地代理

这段代码只是实现一个简单本地代理服务器。 在iOS程序开始的地方,调用 start_proxy_server 来启动代理服务,本代理服务只是简单的把请求通过 NSURLCOnnection调用转发到服务端,并且只能处理 GET请求。 这为AVPlayer等视频播放控件的在线缓存提供了一个把网络数据流导向到 URL Loading System 提供了一个方便。 要实现真正的视频数据缓存,需要配合前一个下载的资源。

2015-08-28

iOS利用NSURLProtocol缓存数据的源代码

这是利用NSURLProtocol协议来实现数据离线缓存的代码, 代码实现了根据某个URL的后缀名来确定是否缓存这个URL, 缓存是永久缓存,直到主动清除缓存数据为止。 代码同时实现了 HTTP请求的 206 请求的部分数据缓存的功能, 这对大文件数据缓存很有用处。 相关文章简介请查看 http://blog.csdn.net/fanxiushu/article/details/48030593

2015-08-27

iOS展示异步网络图片接口函数

iOS开发中经常会要求展示网络图片, 这个代码实现的是UIImageView和UIButton的类别类, 用来异步展示网络图片, 同时提供了一个 get_http_data函数,用来异步下载网络数据。 简单介绍请看下面的BLOG连接。 http://blog.csdn.net/fanxiushu/article/details/46829177 时间仓促,外加本人接触iOS开发不超过3个月,有何错误,谢谢指出。

2015-07-10

目录重定向源代码工程

这是实现目录重定向的源代码工程,包括驱动部分和应用层程序。 使用传统的文件过滤驱动为框架,截获某个目录下的所有IRP请求, 然后转发到应用层程序。 应用层程序通过FTP通讯,把请求再转发到FTP服务端, 从而把本地文件系统中的某个目录直接重定向到FTP服务器目录。 而操作这个被重定向的目录,就跟完全操作本地文件系统的目录一样,没任何区别。 本工程只是开发过程中的一个版本,许多BUG和功能同在, 所以不可直接使用到您的商业产品中,只可做研究学习之用。 相关博客查看 http://blog.csdn.net/fanxiushu/article/details/43636575 及后续章节。

2015-03-29

目录重定向测试程序

这是一个实现目录重定向功能的小程序, 首先在32位测试机器上,用InstDrv.exe把 xfs_redir.sys驱动安装并加载起来, 然后 在另外一台机器上安装 IIS,并启动FTP服务, 最后运行 xFsRedir.exe程序,然后按照程序弹出框, 填写被监控目录也就是要被重定向的目录, 以及FTP服务端信息, 然后运行成功的话, 就会发现你的监控目录里边的内容已经变成FTP服务器上的目录了。 而且还可以运行多个 xFsRedir.exe实例,同时重定向多个目录到多个不同的FTP服务器上, 让你的本地目录变成多个FTP服务端的集中地。 这仅仅是个测试程序,不保证稳定性,尽量在vmware测试机上实验来玩, 稍后会提供整套代码,包括驱动部分和应用层部分。 本程序及代码仅供学习研究之用。 相关博客查看 http://blog.csdn.net/fanxiushu/article/details/43636575 及后续章节。

2015-02-16

基于IE浏览器的源代码

基于IE内核的浏览器的源代码,C++语言开发,WIN32 API,VS2013工具编译。 对应的博客文章 http://blog.csdn.net/fanxiushu/article/details/21837859 有兴趣可下载下去看看。

2014-07-02

基于IE内核的浏览器程序

这是个基于IE内核的浏览器,使用 WIN32 API + ATL 开发。 编译环境 Visual Studio C++ 2013 , 因此生成程序的体积是非常小,只有300多K, 但是具备了现代浏览器的基本功能,采用了多线程+多进程方式的方式来显示网页。 开发这个程序只用了两三个月时间, 时间很仓促而且个人精力有限,又是使用纯WIN32 API开发,因此功能有限。 以后若有需要再增加功能。 这个浏览器的对应BLOG文章: http://blog.csdn.net/fanxiushu/article/details/21837859 描述了这个浏览器开发的技术难点,希望能起到抛砖引玉的作用,给有需要的朋友提供一点帮助。

2014-03-23

虚拟磁盘MINIPORT驱动代码

这是基于微端口的虚拟磁盘驱动代码, 实现了主要框架,包括 SCSIPORT和STORPORT两套接口, 驱动安装后会生成一个内存磁盘,可按照正常的磁盘那样在磁盘管理器 里创建和格式化等, 虚拟磁盘驱动是一个挺有用的驱动, 比如我们可以做成内存类型的磁盘,大大加快文件的访问速度, 做成一个镜像文件类型的虚拟磁盘,如虚拟光驱等等; 做成一个网络类型的虚拟磁盘,所有的读写虚拟盘的数据通过网络存取于服务器上。 一个典型的比如无盘工作站的应用,核心中一个部分就是网络虚拟磁盘驱动, 当系统引导从实模式转入到保护模式之后,虚拟磁盘驱动模拟出系统C盘, 把磁盘读写请求转发到服务器,从而构成一个无盘工作站模型。 此代码实现了MINIPORT主要架构, 可用于研究学习用途,勿用于商业。 代码还没完善,有兴趣的朋友可在此代码上做扩展。 以下文章以及后续文章简单阐述了这个对应的虚拟磁盘驱动的大致原理,有兴趣可看看。 http://blog.csdn.net/fanxiushu/article/details/9903123

2013-08-22

TDI驱动源代码

这个是TDI驱动,本来做这个驱动的目的, 是想在应用层程序实时动态获得每个进程打开的网络端口的变化情况。 因为想不到更好的办法,同时也要兼容WIN7和WINXP,所以才使用TDI来实现。 代码是自己开发的框架,没借用tdifw等源码, 代码测试可在 64和32位位win7,winxp上运行。 除了实现获得动态变化的端口之外, 还顺便实现了每个进程的流量监控,以及每个进程的每个连接的流量情况, 还有简单的禁止某个进程访问网络,至于每个进程限速的功能,暂时没实现, 有兴趣的朋友可在此基础上做扩展, 等你做好之后就能把握理解360流量防火墙的限速的核心部分了。 应用层部分只提供了接口代码,没有做更详细的开发,有兴趣的朋友可开发。 做这驱动大概只用了10天时间,时间比较仓促,还望大牛们纠错指出。

2013-03-30

流量监控小工具部分核心代码

提供流量监控小工具的一部分代码,主要是抓取网卡实时流量和查看哪些进程占用端口情况, 一共三个源文件, net_traffic.cpp 实时流量 ports_stat.cpp/ports_stat.h, 端口信息 代码支持 linux, solaris,windows平台的编译。

2013-02-28

流量监控小工具

多年前做的一个小工具,能在任务栏小图标动态显示进出网络流量,能查看有哪些程序占用连接等,win7平台要用管理员身份运行

2013-01-14

苹果手机iOS系统在windows平台的通讯接口代码

这是在为某公司开发苹果手机同步软件时, 实现的iOS平台跟windows平台的接口代码, 本来是要实现一个功能类似同步推,91助手,iTools等的windows同步软件, 很可惜项目中途废弃了, 现提供一部分核心接口代码供有需要的朋友

2013-01-13

虚拟声卡驱动代码

这是我为某公司开发的虚拟声卡驱动,现提供代码供有需要的朋友共享

2013-01-08

跨平台实现异步执行命令,类似popen,可同时读写

跨平台实现异步执行命令,类似popen,可同时读写

2011-11-10

WINMobile5下的 视频SampleGrabberFilter 过滤器

在 windows mobile环境下,DirectShow开发视频的时候,要获取适时的视频数据流的过滤器

2011-06-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除