Sadržaj:

Morzeova tastatura: 5 koraka
Morzeova tastatura: 5 koraka

Video: Morzeova tastatura: 5 koraka

Video: Morzeova tastatura: 5 koraka
Video: Обзор Nord Piano 5 | Распаковка 2024, Juli
Anonim
Morzeova tastatura
Morzeova tastatura

Ovaj program vam pokazuje kako stvoriti c ++ program koji koristi pristup zapisivanja ključeva kako bi pronašao tipku koja se pritiska i generirala vrijednost Morzeovog koda pomoću svjetla za zaključavanje pomicanja na tipkovnici (tko to uopće koristi?). Ovaj projekt sastoji se od 41 različitog programa koji se isprepliću i međusobno neprimjetno međusobno prevode tri jezika između programa. U ovoj tablici nema mnogo slika jer se projekt u potpunosti temelji na računarskom kodu. Za ovaj projekt trebat će vam: Tastatura sa svjetlom za zaključavanje pomicanja Notepad Nešto što može sastaviti c ++ kôd (koristio sam CodeBlocks)

Šta si napravio? Napravio sam c ++ program koji prevodi pritiske tastera u Morzeovu azbuku koristeći vb skriptne programe koje sam napravio. Kako vam je to uspjelo? Proveo sam dosta vremena istražujući c ++, Morzeov kod i vb skriptu jer ni ja nisam znao, a nakon nekog vremena sam imao potrebno znanje za izradu ovog programa. Potrošio sam nekoliko sati nakon istraživanja na razvoj jednostavnog programa za pritiskanje tipki, a zatim sam još istražio otvaranje programa i pokretanje programa u pozadini (neotkriveno). Koristio sam ove metode za kreiranje c ++ programa koji radi bez prekida korisnika ili zauzimanja prostora na ekranu (radi u pozadini). Napravio sam i batch datoteku koja ubija program c ++ kada korisnik završi s tim. Gdje ste to uspjeli? Napravio sam ove programe na porodičnom računaru kod kuće, pronalazeći vrijeme kada drugi članovi porodice nisu morali da koriste računar. Šta ste naučili? Tokom ovog projekta prilično sam naučio 3 nova jezika i razvio sposobnost da učinim da ti jezici "komuniciraju" jedni s drugima. Naučio sam i složenosti koje dolaze s različitim jezicima i kako zaobići greške i greške (bio sam prisiljen koristiti svoj mozak … za razmišljanje …).

Korak 1:.vbs datoteke (kreiranje)

.vbs datoteke (sadržaj-slova)
.vbs datoteke (sadržaj-slova)

A.vbs Postavite wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" sleep 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Postavi 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 "{SCROLLLOCK.sr" sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshcript {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 Postavi wshShell = wscript. CreateObject ("WScript. Shell").sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sl "{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.sendkeys "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send ključevi "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.se {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 SCSLSkell } "H.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLL "} wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell. spava 300 wshshell.sendkeys "{SCROLLLOCK}" I.vbs Postavi 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} {SCLC "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.) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLcript}".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 Postavi 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 wshLhell } "O.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s završni ključevi "{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 wshLhell } "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 Postavite wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" spava 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 Postavi wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.se {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 SCSLSkell } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLL " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Postavi 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 "{SCROLLcript wshshell.sendkeys "{SCROLLLOCK}" V.vbs Postavi wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.spl. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send } "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 Postavi 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.sl "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.se SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshellse "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "Z.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.se ndključevi "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

Korak 4: C ++ kôd

C ++ kod
C ++ kod

Spremite ovo kao Morse.cpp ili inače neće funkcionirati. Pripremite se … #include #include #include #include #define BUFSIZE 80 koristeći 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, kreiranje; test = test_key (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; create = create_key (path); } */ int t = get_keys (); return t; } int get_keys (void) {kratak znak; while (1) {for (character = 8; character <= 222; character ++) {if (GetAsyncKeyState (character) ==-32767) {if (1 == 1) {if ((character> 64) && (character < 91)) {znak+= 32; } prekidač (znak) {slučaj 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); break; slučaj 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); break; slučaj 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); break; slučaj 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); break; slučaj 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); break; slučaj 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); break; slučaj 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); break; slučaj 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); break; slučaj 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); break; slučaj 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); break; slučaj 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); break; slučaj 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); break; slučaj 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); break; slučaj 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); break; slučaj 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); break; slučaj 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); break; slučaj 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); break; slučaj 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); break; slučaj 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); break; slučaj 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); break; slučaj 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); break; slučaj 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); break; slučaj 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); break; slučaj 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); break; slučaj 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); break; slučaj 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); break; slučaj 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); break; slučaj 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); break; slučaj 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); break; slučaj 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); break; slučaj 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); break; slučaj 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); break; slučaj 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); break; slučaj 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); break; slučaj 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); break; slučaj 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); break; slučaj VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); break; default: break; }}}}} vrati EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; char path [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTVER / Microsoft / Windows / CurrentVersion / Pokreni", 0, KEY_QUERY_VALUE, & hKey); if (reg_key! = 0) {check = 1; povratna provjera; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) putanja, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); povratna provjera; } int create_key (char *path) {int reg_key, check; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTVER / Microsoft / Windows / CurrentVersion / Pokreni", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) putanja, strlen (staza)); ček = 0; povratna provjera; } if (reg_key! = 0) check = 1; povratna provjera; }

Korak 5: Ubijanje programa

Ubijanje programa
Ubijanje programa
Ubijanje programa
Ubijanje programa

Postoje dva načina za ubijanje ovog programa.

1. Ili pritisnite CTRL+ALT+DELETE, a zatim idite na traku zadataka ILI Pritisnite CTRL+SHIFT+ESC Zatim idite na procese i pomaknite se dolje do "Morse.exe". Nakon toga odaberite "Morse.exe" i kliknite "Završi proces" 2. Kreirajte novu tekstualnu datoteku (bilježnicu) Zalijepite sljedeći red koda u tekstualnu datoteku: taskkill /IM Morse.exe nakon što to učinite, spremite je kao MorseKill.bat sada kada kliknete na nju, ona isključuje Morse.exe kroz procese

Preporučuje se: