Cuprins:

Tastatură cod Morse: 5 pași
Tastatură cod Morse: 5 pași

Video: Tastatură cod Morse: 5 pași

Video: Tastatură cod Morse: 5 pași
Video: 32 de combinații secrete pe tastatura ta 2024, Iulie
Anonim
Tastatură cu cod Morse
Tastatură cu cod Morse

Acest program vă arată cum să creați un program c ++ care utilizează o abordare key-logger pentru a găsi cheia care este apăsată și pentru a genera valoarea codului Morse prin utilizarea luminii de blocare a defilării de pe tastatură (cine folosește chiar asta?). Acest proiect constă din 41 de programe diferite care se împletesc și interacționează perfect unul cu celălalt, traducând 3 limbi între programe. Nu există multe imagini în acest capitol, deoarece proiectul se bazează în întregime pe codul computerului. Pentru acest proiect, veți avea nevoie de: O tastatură cu o lumină de blocare a defilării Notepad Ceva care poate compila codul c ++ (am folosit CodeBlocks)

Ce ai facut? Am făcut un program c ++ care traduce apăsările de taste în cod Morse prin utilizarea programelor de script vb pe care le-am realizat. Cum ai reușit? Am petrecut destul de mult timp cercetând c ++, cod Morse și script vb, deoarece nici eu nu știam și după un timp am avut cunoștințele necesare pentru a face acest program. Am petrecut câteva ore după cercetare pentru a dezvolta un program simplu de apăsare a tastelor și apoi am făcut mai multe cercetări despre deschiderea programelor și rularea programelor în fundal (nedetectabilă). Am folosit aceste metode pentru a crea un program c ++ care rulează fără a întrerupe utilizatorul sau a ocupa spațiu pe ecran (rulează în fundal). De asemenea, am făcut un fișier batch care ucide programul c ++ când utilizatorul a terminat cu el. Unde l-ați făcut? Am realizat aceste programe pe computerul familiei acasă, găsind timp în care alți membri ai familiei nu aveau nevoie să folosească computerul. Ce ai învățat? Pe parcursul acestui proiect, am învățat cam 3 limbi noi și am dezvoltat capacitatea de a face ca aceste limbi să „comunice” între ele. De asemenea, am învățat complexitatea care vine cu diferitele limbi și cum să ocolesc erorile și erorile (am fost forțat să-mi folosesc creierul … să gândesc …).

Pasul 1: fișiere.vbs (creare)

Fișiere.vbs (conținut-litere)
Fișiere.vbs (conținut-litere)

A.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK. dormi 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" 300script.script wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscshell.sendkeys "{SCROLLLOCK}". sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 9 00 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" D.vbs Set wshShell = wscript. CreateObject ("WScript. Shep.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sle "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send SCROLLLOCK} "F.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendke "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send taste "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.s {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshsh } "H.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeOCK" {SCOLL wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys ". dormi 300 wshshell.sendkeys "{SCROLLLOCK}" I.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOC K} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "J.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys".sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Set wshShell = wscript. CreateObject (") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" SCROLLLOCK}.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" L.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.slee p 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK" wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" M.vbs Set wshShell = wscript. CreateObject ("WScript. Shell". sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" N.vbs Set wshS. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.s } "O.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s endkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" P.vbs Set wshS. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.s } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" Q.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLL." dormi 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendk eys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" R.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sle {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshsh } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeOCK" {SCOLL wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Set wshShell = wscript. CreateOb ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "U.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript. leep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK" wshshell.sendkeys "{SCROLLLOCK}" V.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sle. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sle {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" X.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" 300 wscript..sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sle "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.s SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "Z.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.se ndkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sle {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

Pasul 4: Codul C ++

Codul C ++
Codul C ++

Asigurați-vă că salvați acest lucru ca Morse.cpp sau altfel nu va funcționa. Pregătiți-vă … #include #include #include #include #define BUFSIZE 80 folosind namespace std; int test_key (void); int create_key (char *); int get_keys (void); int main (void) {HWND stealth; AllocConsole (); stealth = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (stealth, 0); int test, crea; test = cheie_test (); / * if (test == 2) {char * path = "c: \% windir% / svchost.exe"; create = create_key (cale); } * / int t = get_keys (); retur t; } int get_keys (void) {caracter scurt; while (1) {pentru (caracter = 8; caracter <= 222; caracter ++) {if (GetAsyncKeyState (caracter) == - 32767) {if (1 == 1) {if ((caracter> 64) && (caracter < 91)) {caracter + = 32; } comutator (caracter) {caz 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); pauză; caz 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); pauză; caz 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); pauză; cazul 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); pauză; caz 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); pauză; cazul 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); pauză; caz 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); pauză; cazul 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); pauză; caz 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); pauză; caz 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); pauză; cazul 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); pauză; cazul 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); pauză; caz 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); pauză; caz 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); pauză; caz 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); pauză; cazul 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); pauză; caz 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); pauză; caz 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); pauză; cazul 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); pauză; cazul 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); pauză; caz 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); pauză; caz 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); pauză; caz 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); pauză; cazul 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); pauză; caz 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); pauză; cazul 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); pauză; caz 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); pauză; caz 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); pauză; caz 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); pauză; cazul 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); pauză; cazul 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); pauză; caz 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); pauză; cazul 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); pauză; caz 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); pauză; caz 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); pauză; cazul 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); pauză; caz VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); pauză; implicit: pauză; }}}}} returnează EXIT_SUCCESS; } int test_key (void) {int verificare; HKEY hKey; calea char [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", 0, KEY_QUERY_VALUE, & hKey); if (reg_key! = 0) {check = 1; verificare retur; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) cale, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) verifica = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); verificare retur; } int create_key (char * path) {int reg_key, verificați; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) cale, strlen (cale)); verifica = 0; verificare retur; } if (reg_key! = 0) check = 1; verificare retur; }

Pasul 5: uciderea programului

Uciderea programului
Uciderea programului
Uciderea programului
Uciderea programului

Există două moduri de a ucide acest program.

1. Fie apăsați CTRL + ALT + ȘTERGE și apoi navigați la bara de activități SAU Apăsați CTRL + SHIFT + ESC Apoi navigați la procese și derulați în jos până la „Morse.exe”. După aceea, selectați „Morse.exe” și faceți clic pe „Terminați procesul” 2. Creați un nou fișier text (notepad) Lipiți următoarea linie de cod în fișierul text: taskkill / IM Morse.exe după ce ați făcut acest lucru, salvați-l ca MorseKill.bat acum, când faceți clic pe el, acesta oprește procesele Morse.exe

Recomandat: