Teensy之开发环境部署及基本用法

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代码 |
    | 自动模式下加载程序后立即执行| | |

加载新程序

安装部署Arduino+Teensyduino开发平台

  • 首先安装Arduino IDE:https://www.arduino.cc/en/Main/Software
  • 安装Teensyduino:https://www.pjrc.com/teensy/td_download.html
  • 打开Arduino的工具选项,出现如下界面说明安装成功:
    1.png

  • 在工具菜单里选择 USB Type:Keyboard + Mouse + Joystick或者Serial + Keyboard + Mouse + Joystick

  • Arduino IDE中使用的开发语言是C,一个程序在Arduino IDE中被成为 sketch,每个 sketch 都包含一个 setup 函数和一个 loop 函数。程序启动,首先调用 setup,这个函数只被调用一次,loop 函数会被不停的重复调用下去。
  • 下面写一个 Hello World 的程序:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void 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按钮停止运行程序。

参考文章:

文章目录
  1. 1. Teensy介绍
  2. 2. Teensy开发环境部署
    1. 2.1. Teensy首次使用
    2. 2.2. HalfKay Bootloader模式
    3. 2.3. 加载新程序
    4. 2.4. 安装部署Arduino+Teensyduino开发平台
    5. 2.5. 参考文章:
|