-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.html
227 lines (226 loc) · 11.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<!DOCTYPE html>
<html lang="it">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Create DuckyScript Payload</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<div class="fixed-header">
<b>Output:</b><br />
<font size="2" style="opacity:45%"><i>Your badUSB payload will be here. At the end of the process, click "Save", and the download will automatically start. You can also edit manually the script before download.</i></font>
<textarea id="output" rows="4" cols="50" placeholder="Here your Payload..."></textarea>
<div class="blocchetto btn">
<button id="tastoSalva" class="tasto-save">Save As...</button>
</div>
</div>
<div class="blocco">
<br /><br />
<center><img src="img/logo.png"></center>
</div>
<div class="blocco">
<div class="blocchetto">
<b>Change ID (VID/PID):</b><br />
</div>
<div class="blocchetto">
<font size="2" style="opacity:45%"><i>Vendor<mark>ID</mark> an Product<mark>ID</mark> are codes used to identify your keyboard. <b><u>ONLY</u></b> if you are targeting a <b>macOS</b>, remember to insert the <mark>ID</mark> command, to change <mark>VID</mark> / <mark>PID</mark>, at the top of your code.</i></font>
</div>
<div class="blocchetto btn">
<button class="bigButtON" onclick="inserisciEVai('ID 05ac:021e Apple:Keyboard')">Change VID/PID (macOS ONLY)</button>
</div>
<div class="blocchetto">
<font size="2" style="opacity:45%"><i>* You can set custom <mark>ID</mark> of Flipper USB HID device. <mark>ID</mark> command should be in the first line of script, it is executed before script run. Unless your target is a macOS (which requires to specify it at the first line of the payload), VID and PID are hex codes and are mandatory, Manufacturer and Product are text strings and are optional.</i></font>
</div>
</div>
<div class="blocco">
<table border="0" width="100%">
<tr valign="top">
<td width="50%">
<b>Remark (REM):</b><br />
<font size="2" style="opacity:45%"><i><mark>REM</mark> is short for Remark and adds a comment to the payload, like a title, the target OS, the functioning of a command or the author's name.</i></font>
<div class="blocchetto">
<textarea id="input" rows="4" cols="50" placeholder="Type your text here."></textarea>
</div>
<div class="blocchetto btn">
<table border="0" width="100%">
<tr valign="top">
<td width="50%">
<button id="bottoneRemark">Write Remark</button>
</td>
<td width="50%">
</td>
</tr>
</table>
</div>
</td>
<td width="50%">
<b>String (STRING/ALTCODE):</b><br />
<font size="2" style="opacity:45%"><i><mark>STRING</mark> injects keystrokes, or "types", the given characters (a-z, 0-9, punctuation & specials).<br />
<mark>ALTCODE</mark> is used instead of <mark>STRING</mark>, to print text string using "ALT+Numpad" method. It works even if non-US keyboard layout is selected</i></font>
<div class="blocchetto">
<textarea id="inputz" rows="4" cols="50" placeholder="Type your text here."></textarea>
</div>
<div class="blocchetto btn">
<table border="0" width="100%">
<tr valign="top">
<td width="50%">
<button id="bottoneString">Write String</button>
</td>
<td width="50%">
<button id="bottoneAltcode">Write Altcode</button>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div class="blocco">
<table border="0" width="100%">
<tr valign="top">
<td width="33%">
<b>Delays:</b><br />
<font size="2" style="opacity:45%"><i><mark>DELAY</mark> is expressed in milliseconds (1 sec. = 1000 ms.). The minimum is 100 (0.1 sec.). It increases/decreases by 100 milliseconds each click.<br />
<mark>DEFAULT_DELAY</mark> / <mark>DEFAULTDELAY</mark> add delay before every nex command.</i></font>
<div class="blocchetto">
<button onclick="inserisciEVai('DELAY ' + document.getElementById('delayInput').value)">DELAY</button>
<input id="delayInput" type="number" value="1000" min="100" step="100">
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('DEFAULT_DELAY ' + document.getElementById('defaultDelayInput').value)">DEFAULT DELAY</button>
<input id="defaultDelayInput" type="number" value="1000" min="100" step="100">
</div>
<div class="blocchetto">
<button class="bigButtON" onclick="inserisciEVai('WAIT_FOR_BUTTON_PRESS')">BUTTON_PRESS</button>
</div>
</td>
<td>
<b>Misc. Commands:</b><br />
<font size="2" style="opacity:45%"><i><mark>REPEAT</mark> is used to repeat the previous command. It expects the number of additional repeats as parameter.<br />
<mark>ALTCHAR</mark> is to display single <mark>ALT+Numpad</mark> Keys (on Windows), or <mark>ALT</mark><mark>(ALT+SHIFT)</mark> Keys (on macOS).<br />
Click
</i></font><font size="2" style="opacity:100%"><a href="https://www.alt-codes.net" target="new">HERE</a></font><font size="2" style="opacity:45%"><i> for a complete list of available codes for ALT characters.</i></font>
<div class="blocchetto btn">
<button onclick="inserisciEVai('REPEAT')">REPEAT</button>
</div>
<div class="blocchetto">
<button id="bottoneAltchar">ALTCHAR</button>
<input id="charInput" type="number" maxlength="4" placeholder="Code">
</div>
</td>
<td width="33%">
<b>Modifier Keys:</b><br />
<font size="2" style="opacity:45%"><i><mark>GUI</mark> is used for both: the <mark>WINDOWS(⊞)</mark> key on Windows, and the <mark>CMD(⌘)</mark> key on macOS. (Targeting Windows, you can use <mark>WINDOWS</mark> key or <mark>GUI</mark> key to get the same result). <mark>CONTROL</mark> and <mark>CTRL</mark> as well. If you need to use more than one "modifier key" at once, use the preloaded "Keys Combos", which you'll find just below these Modifier keys.</i></font>
<div class="blocchetto btn">
<button onclick="inserisciEVai('GUI')">GUI ⊞ / ⌘</button>
<button onclick="inserisciEVai('WINDOWS')">WINDOWS ⊞</button>
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('SHIFT')">SHIFT ⇧</button>
<button onclick="inserisciEVai('CTRL')">CTRL ⌃</button>
<button onclick="inserisciEVai('ALT')">ALT ⌥</button>
</div>
</td>
</tr>
</table>
</div>
<div class="blocco">
<table border="0" width="100%">
<tr valign="top">
<td width="50%">
<b>Combos Keys:</b><br />
<font size="2" style="opacity:45%"><i><b><u>ONLY</u></b> on <b>Windows</b>: <mark>CTRL-ALT</mark> is the same as to type <mark>ALTgr</mark> (ALT Graphic) and you can use both <mark>ALT-WINDOWS</mark> or <mark>ALT-GUI</mark>, and <mark>WINDOWS-SHIFT</mark> or <mark>GUI-SHIFT</mark> to get the exact same result.</i></font>
<div class="blocchetto btn">
<button onclick="inserisciEVai('CTRL-ALT')">CTRL-ALT</button>
<button onclick="inserisciEVai('CTRL-SHIFT')">CTRL-SHIFT</button>
<button onclick="inserisciEVai('ALT-SHIFT')">ALT-SHIFT</button>
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('ALT-GUI')">ALT-GUI</button>
<button onclick="inserisciEVai('GUI-SHIFT')">GUI-SHIFT</button>
</div>
</td>
<td width="50%">
<b>Arrow Keys / Cursor:</b><br />
<font size="2" style="opacity:45%"><i><mark>UP</mark> is the same as <mark>UPARROW</mark>. <mark>DOWN</mark> is the same ad <mark>DOWNARROW</mark>. <mark>LEFT</mark> is the same as <mark>LEFTARROW</mark>. <mark>RIGHT</mark> is the same as <mark>RIGHTARROW</mark>.</i></font>
<div class="blocchetto">
<table border="0" width="100%">
<tr valign="bottom">
<td width="33%"></td>
<td><button id="arrowButton" onclick="inserisciEVai('UPARROW')">↑</button></td>
<td width="33%"></td>
</tr>
</table>
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('LEFTARROW')">←</button>
<button onclick="inserisciEVai('DOWNARROW')">↓</button>
<button onclick="inserisciEVai('RIGHTARROW')">→</button>
</div>
</td>
</tr>
</table>
</div>
<div class="blocco">
<b>Main Control Keys:</b>
<div class="blocchetto">
<button onclick="inserisciEVai('ENTER')">ENTER ↵</button>
<button onclick="inserisciEVai('SPACE')">SPACE ␣</button>
<button onclick="inserisciEVai('BACKSPACE')">BACK SPACE ⌫</button>
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('TAB')">TAB ⇥</button>
<button onclick="inserisciEVai('CAPSLOCK')">CAPS LOCK ⇪</button>
<button onclick="inserisciEVai('DELETE')">DELETE ⌦</button>
</div>
</div>
<div class="bloccos">
<b>Others Control Keys:</b><br />
<font size="2" style="opacity:45%"><i>* The magic <mark>SysRq</mark> key is a key combination understood by the Linux kernel, which allows the user to perform various low-level commands regardless of the system's state. It is often used to recover from freezes, or to reboot a computer without corrupting the filesystem. (<a href="https://en.wikipedia.org/wiki/Magic_SysRq_key">Wikipedia</a>)</i></font>
<div class="blocchetto btn">
<button onclick="inserisciEVai('SYSRQ')">SysRq (Linux ONLY)</button>
<button onclick="inserisciEVai('PRINTSCREEN')">PRINT SCREEN</button>
<button onclick="inserisciEVai('ESC')">ESC ⎋</button>
<button onclick="inserisciEVai('PAGEUP')">PAGE UP ⇞</button>
<button onclick="inserisciEVai('PAGEDOWN')">PAGE DOWN ⇟</button>
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('NUMLOCK')">NUM LOCK</button>
<button onclick="inserisciEVai('SCROLLOCK')">SCROLL LOCK</button>
<button onclick="inserisciEVai('HOME')">HOME ↖</button>
<button onclick="inserisciEVai('END')">END ↘</button>
<button onclick="inserisciEVai('INSERT')">INSERT</button>
</div>
<div class="blocchetto">
<button onclick="inserisciEVai('APP')">APP</button>
<button onclick="inserisciEVai('BREAK')">BREAK</button>
<button onclick="inserisciEVai('PAUSE')">PAUSE</button>
<button onclick="inserisciEVai('MENU')">MENU</button>
<button onclick="inserisciEVai('ESCAPE')">ESCAPE</button>
</div>
</div>
<div class="blocco">
<b>Function Keys:</b>
<div class="blocchetto">
<button onclick="inserisciEVai('F1')">F1</button>
<button onclick="inserisciEVai('F2')">F2</button>
<button onclick="inserisciEVai('F3')">F3</button>
<button onclick="inserisciEVai('F4')">F4</button>
<button onclick="inserisciEVai('F5')">F5</button>
<button onclick="inserisciEVai('F6')">F6</button>
<button onclick="inserisciEVai('F7')">F7</button>
<button onclick="inserisciEVai('F8')">F8</button>
<button onclick="inserisciEVai('F9')">F9</button>
<button onclick="inserisciEVai('F10')">F10</button>
<button onclick="inserisciEVai('F11')">F11</button>
<button onclick="inserisciEVai('F12')">F12</button>
</div>
</div>
<div class="blocco fondo">
<b></b>
<div class="blocchetto"></div>
</div>
<script src="ducky.js"></script>
</body>
</html>