Obsah:

Klávesnice Morseovy abecedy: 5 kroků
Klávesnice Morseovy abecedy: 5 kroků

Video: Klávesnice Morseovy abecedy: 5 kroků

Video: Klávesnice Morseovy abecedy: 5 kroků
Video: Co je to QWERTY? | What the Fact? 2024, Listopad
Anonim
Klávesnice Morseova abecedy
Klávesnice Morseova abecedy

Tento program vám ukáže, jak vytvořit program v jazyce C ++, který používá přístup typu logger k nalezení klávesy, která je stisknuta, a vygenerování hodnoty Morseovy abecedy pomocí kontrolky zámku rolování na klávesnici (kdo to vůbec používá?). Tento projekt se skládá ze 41 různých programů, které se vzájemně prolínají a vzájemně spolu bezproblémově překládají 3 jazyky. V tomto dokumentu není mnoho obrázků, protože projekt je založen výhradně na počítačovém kódu. K tomuto projektu budete potřebovat: Klávesnici se světelným zámkem posouvání Poznámkový blok Něco, co dokáže kompilovat kód c ++ (použil jsem CodeBlocks)

Co jsi vyrobil? Vytvořil jsem program C ++, který převádí stisknutí kláves do Morseova kódu pomocí programů skriptů VB, které jsem vytvořil. Jak jsi to dokázal? Strávil jsem docela dlouho zkoumáním skriptů C ++, Morseovy abecedy a vb, protože jsem to také neznal a po chvíli jsem měl potřebné znalosti k vytvoření tohoto programu. Strávil jsem několik hodin po výzkumu vývojem jednoduchého programu pro stisknutí kláves a poté jsem provedl další průzkum otevírání programů a spouštění programů na pozadí (nezjistitelné). Tyto metody jsem použil k vytvoření programu c ++, který běží bez přerušení uživatele nebo zabírání místa na obrazovce (běží na pozadí). Také jsem vytvořil dávkový soubor, který zabije program c ++, když s ním uživatel skončí. Kde jste to udělali? Tyto programy jsem vytvořil doma na rodinném počítači a našel jsem si čas, kdy ostatní členové rodiny počítač nepotřebovali. Co jste se naučili? Během tohoto projektu jsem se do značné míry naučil 3 nové jazyky a rozvinul schopnost, aby tyto jazyky mezi sebou „komunikovaly“. Také jsem se naučil složitosti, které jsou s různými jazyky spojeny, a jak obejít chyby a chyby (byl jsem nucen použít svůj mozek … myslet …).

Krok 1: Soubory.vbs (vytvoření)

Soubory.vbs (obsahová písmena)
Soubory.vbs (obsahová písmena)

A.vbs Sada wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" spánek 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.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 9 00 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" "D.vbs Set 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.sleep 300 "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys " 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 klíče "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send } "Sada H.vbs wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLOCK uspat 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}" SCROLL.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Set wshShell = wscript. CreateObject ("WScript. Sell) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.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}" wscript 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 Nastavit wshShell = w CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell. Sendkeys } "Sada O.vbs 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 Nastavit wshShell = w CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLL Sada Q.vbs wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" spánek 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 wshshell.send } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Set wshShell = wscript. CreateOhell ("Script ") 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.sleep 300 sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshsh {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.sleep.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 Sada „{SCROLLLOCK}“wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.send "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.sleep 300 wshshell {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

Krok 4: Kód C ++

Kód C ++
Kód C ++

Ujistěte se, že to uložíte jako Morse.cpp, jinak to nebude fungovat. Připravte se… #include #include #include #include #define BUFSIZE 80 using namespace std; int test_key (neplatné); int create_key (char *); int get_keys (neplatné); int main (void) {HWND stealth; AllocConsole (); stealth = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (utajení, 0); int test, vytvořit; test = test_key (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; create = create_key (cesta); } */ int t = get_keys (); návrat t; } int get_keys (void) {krátký znak; while (1) {for (character = 8; character <= 222; character ++) {if (GetAsyncKeyState (character) ==-32767) {if (1 == 1) {if ((character> 64) && (character < 91)) {znak+= 32; } switch (character) {case 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); přestávka; případ 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); přestávka; případ 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); přestávka; případ 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); přestávka; případ 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); přestávka; případ 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); přestávka; případ 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); přestávka; případ 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); přestávka; případ 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); přestávka; případ 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); přestávka; případ 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); přestávka; případ 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); přestávka; případ 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); přestávka; případ 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); přestávka; případ 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); přestávka; případ 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); přestávka; případ 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); přestávka; případ 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); přestávka; případ 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); přestávka; případ 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); přestávka; případ 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); přestávka; případ 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); přestávka; případ 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); přestávka; případ 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); přestávka; případ 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); přestávka; případ 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); přestávka; případ 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); přestávka; případ 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); přestávka; případ 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); přestávka; případ 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); přestávka; případ 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); přestávka; případ 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); přestávka; případ 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); přestávka; případ 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); přestávka; případ 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); přestávka; případ 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); přestávka; případ VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); přestávka; výchozí: break; }}}}} návrat EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; char cesta [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; zpětná kontrola; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) cesta, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); zpětná kontrola; } int create_key (char *path) {int reg_key, check; 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 *) cesta, strlen (cesta)); šek = 0; zpětná kontrola; } if (reg_key! = 0) check = 1; zpětná kontrola; }

Krok 5: Zabití programu

Zabití programu
Zabití programu
Zabití programu
Zabití programu

Existují dva způsoby, jak tento program zabít.

1. Buď stiskněte CTRL+ALT+DELETE a poté přejděte na hlavní panel NEBO Stiskněte CTRL+SHIFT+ESC Poté přejděte na procesy a přejděte dolů na „Morse.exe“. Poté vyberte „Morse.exe“a klikněte na „Ukončit proces“2. Vytvořte nový textový soubor (poznámkový blok) Do textového souboru vložte následující řádek kódu: taskkill /IM Morse.exe, jakmile to provedete, uložte jej jako MorseKill.bat nyní, když na něj kliknete, vypne proces Morse.exe

Doporučuje: