Innholdsfortegnelse:

Morsekode -tastatur: 5 trinn
Morsekode -tastatur: 5 trinn

Video: Morsekode -tastatur: 5 trinn

Video: Morsekode -tastatur: 5 trinn
Video: Curiosity Has a Message Coded on its Wheels 2024, Juli
Anonim
Morsekode -tastatur
Morsekode -tastatur

Dette programmet viser deg hvordan du lager et c ++-program som bruker en tastelogger-tilnærming for å finne tasten som trykkes og generere morsekodeverdien ved bruk av rullelåslyset på tastaturet (hvem bruker det?). Dette prosjektet består av 41 forskjellige programmer som fletter seg inn og sømløst interagerer med hverandre, og oversetter 3 språk mellom programmene. Det er ikke mange bilder i denne artikkelen ettersom prosjektet helt er basert på datakode. For dette prosjektet trenger du: Et tastatur med rullelåslampe Notisblokk Noe som kan kompilere c ++ - kode (jeg brukte CodeBlocks)

Hva lagde du? Jeg lagde et c ++ - program som oversetter tastetrykk til morsekode ved bruk av vb -skriptprogrammer som jeg laget. Hvordan klarte du det? Jeg brukte en god stund på å forske på c ++, morsekode og vb -skript, da jeg ikke kjente det heller, og etter en stund hadde jeg den nødvendige kunnskapen for å lage dette programmet. Jeg tilbrakte noen timer etter undersøkelsen for å utvikle et enkelt tastetrykkprogram, og forsket deretter litt mer på å åpne programmer og kjøre programmer i bakgrunnen (uoppdagelig). Jeg brukte disse metodene til å lage et c ++ - program som kjører uten å avbryte brukeren eller ta opp plass på skjermen (det kjører i bakgrunnen). Jeg lagde også en batchfil som dreper c ++ - programmet når brukeren er ferdig med det. Hvor gjorde du det? Jeg lagde disse programmene på familiens datamaskin hjemme, og fant tid da andre familiemedlemmer ikke trengte å bruke datamaskinen. Hva lærte du? I løpet av dette prosjektet lærte jeg stort sett 3 nye språk og utviklet muligheten til å få språkene til å "kommunisere" med hverandre. Jeg lærte også kompleksiteten som følger med de forskjellige språkene, og hvordan jeg kan omgå feil og feil (jeg ble tvunget til å bruke hjernen min … til å tenke …).

Trinn 1:.vbs -filer (opprettelse)

.vbs-filer (innholdsbokstaver)
.vbs-filer (innholdsbokstaver)

A.vbs Sett wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}". sove 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript. " wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{wcRollLOCK}" wSCRLOCK} "wScriptLs. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sleep " {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 ("WScriptshh").sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript. " "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendke SCROLLLOCK} "F.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send tastene "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send {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.sendkeys" {SCROLLLOC} wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshOC. R "LR"} SCR. sove 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" {SCROLLL " "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" {.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Set wshShell = wscript. CreateObject ("WScript) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}".sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" L.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.slee s 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 wShsh. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send. } "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 wShsh. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send 900 } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" Q.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK." sove 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.send {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.sendkeys" {SCROLLLOC} wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Set wshShell = wscript. CreateObject (") 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 "{SCROLLLOC." wshshell.sendkeys "{SCROLLLOCK}" V.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscriptshs.sleep {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}" wscript. ".sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript. " "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sleep 900 wshsh. "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}" wssh.sleep.sws.shs. {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

Trinn 4: C ++ - koden

C ++ - koden
C ++ - koden

Sørg for å lagre dette som Morse.cpp, ellers fungerer det ikke. Forbered deg… #include #include #include #include #define BUFSIZE 80 using 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, lage; test = test_tast (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; create = create_key (bane); } */ int t = get_keys (); returnere t; } int get_keys (void) {kort tegn; mens (1) {for (tegn = 8; tegn <= 222; tegn ++) {if (GetAsyncKeyState (tegn) ==-32767) {hvis (1 == 1) {if ((tegn> 64) && (tegn < 91)) {tegn+= 32; } switch (tegn) {case 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); gå i stykker; case 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); gå i stykker; case 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); gå i stykker; standard: pause; }}}}}} returner EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; røyebane [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", 0, KEY_QUERY_VALUE, & hKey); hvis (reg_key! = 0) {check = 1; retur sjekk; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) bane, og buf_length); hvis ((reg_key! = 0) || (buf_length> BUFSIZE)) sjekk = 2; hvis (reg_key == 0) sjekk = 0; RegCloseKey (hKey); retur sjekk; } int create_key (char *path) {int reg_key, sjekk; 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 *) path, strlen (path)); sjekk = 0; retur sjekk; } if (reg_key! = 0) check = 1; retur sjekk; }

Trinn 5: Drepe programmet

Dreper programmet
Dreper programmet
Dreper programmet
Dreper programmet

Det er to måter å drepe dette programmet på.

1. Trykk enten CTRL+ALT+DELETE og naviger deretter til oppgavelinjen ELLER trykk CTRL+SKIFT+ESC Naviger deretter til prosesser og rull ned til "Morse.exe". Etter det velger du "Morse.exe" og klikker på "Avslutt prosess" 2. Lag en ny tekstfil (notisblokk) Lim inn følgende kodelinje i tekstfilen: taskkill /IM Morse.exe når du har gjort det, lagre den som MorseKill.bat nå når du klikker på den, slår den av Morse.exe -gjennomgangsprosessene

Anbefalt: