什么是BadUSB?请查看:http://www.baike.com/wiki/BadUSB
或者看看腾讯这个视频!https://v.qq.com/x/page/l01425u2igw.html

这就是Attiny 85开发板,目前售价在¥9元左右。在网上可以购买得到!Digispark是一个基于Attiny 85微控制器的USB开发板,体积小价格便宜。代码与Arduino类似,可使用Arduino IDE来开发。
1.驱动下载和安装
当第一次插入这个设备到电脑上的时候,电脑系统会自动进行安装驱动程序,如果安装失败,请自行点击下面的网址进行下载并安装!
解压后,运行“Install Drivers.exe”,进行安装。
2.下载安装Arduino IDE
用什么工具对其进行代码编写?推荐使用Arduino IDE。到Arduino官方网站进行下载安装
3.对Arduino IDE进行相关设置
安装好IDE后,打开并按照下面图片进行设置


在附加开发板管理器网址添加上:
http://digistump.com/package_digistump_index.json



4.使用Arduino IDE进行代码编写
#include "DigiKeyboard.h"
void setup() {
//下面这一行是非必要的,但在一些老的系统中,
//为了能在延时后不错过输入语句的第一个字符所以要加上
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(300);
DigiKeyboard.println("notepad");
DigiKeyboard.delay(1000);
}
void setup() {
//下面这一行是非必要的,但在一些老的系统中,
//为了能在延时后不错过输入语句的第一个字符所以要加上
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(300);
DigiKeyboard.println("notepad");
DigiKeyboard.delay(1000);
}
void loop() {
}

上面的代码是当插入Attiny 85开发板2秒左右,自动打开记事本。上面的代码只是简单的演示,具体实现什么功能,自己自行编写吧。可以借助Automator工具辅助编写,下载网址:https://github.com/CYRO4S/Automator
为了防止代码出错,可以先验证一下

5.上传代码到硬件


当点击上传按钮之后,等待下面的信息出现这段文字的时候,如果你已经插入Attiny 85开发板,请拔下来再插回去。如果之前没有插入,那么要在60秒内插入。

如果看到上图的信息,则代码上传成功,上传完成后,会自动执行你所编写的代码!
如果确定编写的代码无误,可以上传(烧录)到硬件上,串口随意选择不影响烧录(因为本身也没串口)
因为没有自动复位需要拔插设备。
如果需要对Attiny 85开发板进行重写开发,重新编写代码,或者修改代码。建议先把Attiny 85开发板拔出,先把代码写好,点击上传,等提示:Plug in device now... (will timeout in 60 seconds),再把设备插入即可!
注意:Digispark的驱动可能会影响到某些机械键盘的宏编程功能(通过某些软件修改宏)!
转发此文,请注明出处!