Teensy之开发环境部署及基本用法
Teensy介绍
- Teensy是一个完整的基于USB的微控制器开发系统,体积小,能够实现多种类型的项目,所有编程都通过USB端口完成,是一个开源项目。另外Teensy具有兼容Mac OS X,Linux和Windows等系统、单个按键编程、易于使用的Teensy Loader应用程序、免费软件开发工具等特点。
- 对Teensy芯片进行开发,可以在Arduino IDE中用C语言进行开发。
- 本系列教程主要用于将Teensy用于制作HID攻击工具,HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。
- 本系列文章使用的Teensy版本是Teensy 2.0++,芯片是AT90USB1286,操作系统为Windows 7 SP1。
Teensy开发环境部署
Teensy首次使用
- 首先将Teensy通过USB线连接至电脑。所有全新的Teensy主板都预装了LED闪烁程序。应该看到LED缓慢闪烁,1秒钟开启,1秒钟关闭。
- 如果该Teensy不是全新的,它将运行前任所有者加载的任何程序,可能会导致您的计算机识别新硬件并需要驱动程序。可按下Teensy板卡上的圆圈按钮停止程序执行。
HalfKay Bootloader模式
- Teensy包含2个程序,用户程序(如LED灯闪烁)和HalfKay引导加载程序。HalfKay与Teensy Loader软件一起使用可以轻松加载新程序。运行HalfKay,需要按下Teensy上的按钮。
- Windows、MacOS X和Linux都有自动使用的内置驱动程序安装HalfKay驱动程序。
- 用户程序和HalfKay运行时机:
| 用户程序运行 | Halfkay运行 | 都不运行 |
| ———— | ———— | ———— |
| 接通电源 | 按下并释放按钮 | 按下按钮不释放 |
| 在Teensy Loader程序中单击重新启动按钮 | 用户程序跳转到Teensy代码 |
| 自动模式下加载程序后立即执行| | |
加载新程序
- 当HalfKay bootloader运行时,Teensy Loader程序与Teensy板通信,通过该方式写入新程序并运行它们。
- 选择适当平台的teensy.exe下载:https://www.pjrc.com/teensy/teensy.exe。Teensy.exe是单个文件应用程序,因此不需要安装程序。
- 双击teensy.exe运行,然后打开想运行的hex文件,然后点击Program写入程序,点击Reboot重启运行写入的程序,按下并释放Teensy按钮停止运行程序。
安装部署Arduino+Teensyduino开发平台
- 首先安装Arduino IDE:https://www.arduino.cc/en/Main/Software
- 安装Teensyduino:https://www.pjrc.com/teensy/td_download.html
打开Arduino的工具选项,出现如下界面说明安装成功:
在工具菜单里选择 USB Type:Keyboard + Mouse + Joystick或者Serial + Keyboard + Mouse + Joystick
- Arduino IDE中使用的开发语言是C,一个程序在Arduino IDE中被成为 sketch,每个 sketch 都包含一个 setup 函数和一个 loop 函数。程序启动,首先调用 setup,这个函数只被调用一次,loop 函数会被不停的重复调用下去。
下面写一个 Hello World 的程序:
12345678910void setup() {// put your setup code here, to run once:Keyboard.print("Hello World");}void loop() {// put your main code here, to run repeatedly:delay(2000); // 暂停2秒Keyboard.print("Hello World");}然后点击验证按钮编译,编译通过后,连上Teensy设备,上传程序到Teensy程序会自动运行,按下并释放Teensy按钮停止运行程序。