模拟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中的HTTP POST请求,有效负载为json文件   groovy中的java匿名内部类   udp Java执行crc检查(用字节数组除以字节数组)   java如何重构代码以删除if语句?   java从getView中的onClickListener内部更新ArrayAdapter   java JTable删除所有行异常   entityManagerFactory未命名为“entityManagerFactory”时的java   java春季休息。消除HTTP上的json属性。邮递   使用iText 5.5.7在由于分页符而拆分表时添加java空白页   SpringJPA:映射java。util。映射到单个表   java错误:找不到适合ArrayAdapter的构造函数(activity、int、int、string)   java链表反向   java如何制作类。forName返回数组类型?   java JFrame组件未出现   java如何向服务器发送ACK/NACK   如何保持Java模型独立于JPA实体,同时避免代码重复   java为什么每当我更新FireBase中的字段时,我的RecyerView都会创建新条目?   java使精灵平稳旋转