模拟usb设备的python库

facedancer的Python项目详细描述


#facedancer 2.2

此存储库包含下一代facedancer软件。从最初的基于goodfet的facedancer派生而来,这个存储库提供了一个python模块
,它提供了扩展的facedancer支持,包括对多个板的支持
和一些非常重要的新功能。

facedancer板是充当"远程控制"USB控制器的简单硬件设备。有了合适的软件,您可以使用这些板快速而轻松地模拟USB设备,并模糊USB主机控制器!

这个特定的软件存储库目前允许您在python中轻松创建usb设备的模拟。控件足够细粒度,可以导致所有类型的USB错误行为。:)

有关更多信息,请参阅:

*[特拉维斯·古德斯佩德在Facedancer上的博客文章](http://travis goodspeed.blogspot.com/2012/07/用python.html模拟USB设备)
*[Facedancer 21,原始支持的板](http://goodfet.sourceforge.net/hardware/Facedancer21/)

##usbproxy'nouveau'和协议分析

较新的facedancer代码库的一个主要新特性是能够在
中间usb连接中进行操作——替换作者原来的[usbproxy]项目(https://github.com/dominicgs/usbproxy)
。这开辟了一个全新的应用领域,包括协议分析和USB数据包的实时操作,当您不控制目标设备(如嵌入式系统或游戏机)上运行的软件时尤其有用。+-------------------------------------------------------+
+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————/>|代理的主机FaceDancer设备目标USB
设备<;--->;运行FaceDancer软件<;--->;充当USB控制的<;--->;主机
|||||| USB控制器||
MITM设置(主机+Facedancer)
+??——re是完整的,但是可以使用更多的文档。欢迎拉取请求。:)





首先,您可能需要设置``backend``环境变量,让软件知道您要使用哪种类型的facedancer板。如果未设置此变量
,软件将尝试根据连接的内容为您进行猜测。它不会总是做出最好的猜测,所以您最好自己设置。


接下来,您可以运行任何预先制作的脚本,例如``facedancer serial.py``.

例如:

``sh
export backend=goodfet
./facedancer serial.py
```

目前支持T板?

*所有基于Goodfet的Facedancer,包括Common Facedancer21(`` backend=Goodfet````)
*The[Greatfet One](http://greatscottagets.com/greatfet/)(`` backend=Greatfet```)
*NXP LPC4330 Xplorer Board(`` backend=Greatfet```)
*带Grea的CCCamp 2015 Rad1o徽章tfet l0adable(`` backend=greatfet```)
*rpi+max3241 raspdancer板(`` backend=raspDancer```)


请注意,硬件限制使max3420/max3421板无法模拟更复杂的设备——可以设置的端点的数量/类型有限制。像greatfet这样的lpc430板不受这些限制。

出于类似的原因,max3420/max3421板(backend=goodfet或backend=raspdancer)目前不能用作usbproxy nv mitm设备。所有现代电路板(`backend=greatfet`)
都应该功能齐全。



*任何支持gadgetfs的linux计算机(例如pi zero或beaglebone black)



路线图是模糊的,但除了多板支持之外,这个存储库最终还将包含一些很酷的新功能,例如:

*在具有usb 2.0物理的设备上进行高速("usb2.0")设备模拟



有很多人应该为这次回购的惊人行为负责,
包括:


*特拉维斯·古德斯佩德(@travis goodspeed)
*谢尔盖·布拉图斯(@sergey bratus)
*ktemkin(@ktemkin)
*dominic spill(@dominicgs)
*michael ossmann(@michaelossmann)
*任何人谁的名字出现在git历史记录中:)

\

…总是受欢迎的。给我们一个公关!



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我的int值在SharedReferences中不被记住   java如何编辑Spring可分页对象?   java如何在gradle中单独调用任务   jvm以编程方式设置最大java堆大小   java如果满足多个条件,如何使用If语句计算数字?   如何在java中从json文件中获取特定值   如何在Sphinx4中为Java语音识别添加自定义语法?   java int[]copy=data;//当数据是数组时会发生什么?   java豪猪管理器。停下来。destroy()不起作用   安卓在API级别28中找不到画布变量   基于SOLID的java冗余   用于talend作业的java Liferay和portlet   从java到安卓的视频流   java获取在控件的类定义中添加自定义控件的场景大小   awt Java IndexOutOfBoundsException   java如何使用Spring JmsTemplate更改MQ头   java遍历数组并打印每个对象   java Google Map api v2标记在我旋转手机和地图“刷新”之前不会移动