Sisällysluettelo:

Morse -näppäimistö: 5 vaihetta
Morse -näppäimistö: 5 vaihetta

Video: Morse -näppäimistö: 5 vaihetta

Video: Morse -näppäimistö: 5 vaihetta
Video: 5 Asiaa, joita et ehkä tiennyt unista 2024, Heinäkuu
Anonim
Morse Code -näppäimistö
Morse Code -näppäimistö

Tämä ohjelma näyttää sinulle, kuinka luodaan c ++ -ohjelma, joka käyttää avainten kirjausmenetelmää löytääkseen painettavan näppäimen ja luodakseen Morse-arvon käyttämällä näppäimistön vierityslukon valoa (kuka edes käyttää sitä?). Tämä projekti koostuu 41 eri ohjelmasta, jotka kietoutuvat toisiinsa ja ovat saumattomasti vuorovaikutuksessa toistensa kanssa ja kääntävät 3 kieltä ohjelmien välillä. Tässä ketjussa ei ole paljon kuvia, koska projekti perustuu kokonaan tietokonekoodiin. Tätä projektia varten tarvitset: Näppäimistön, jossa on vierityslukon valo Muistio Jotain, joka voi kääntää c ++ -koodin (käytin CodeBlocksia)

Mitä teit? Tein c ++ -ohjelman, joka muuntaa näppäinpainallukset Morse -koodiksi tekemieni vb -komentosarjaohjelmien avulla. Miten onnistuit? Vietin jonkin aikaa tutkiessani c ++ -, Morse -koodia ja vb -käsikirjoitusta, koska en myöskään tiennyt ja jonkin ajan kuluttua minulla oli tarvittavat tiedot tämän ohjelman tekemiseksi. Vietin muutaman tunnin tutkimuksen jälkeen yksinkertaisen näppäinpainallusohjelman kehittämiseen ja tein sitten lisää tutkimusta ohjelmien avaamisesta ja ohjelmien käynnistämisestä taustalla (havaitsematon). Käytin näitä menetelmiä luodakseni c ++ -ohjelman, joka toimii keskeyttämättä käyttäjää tai vie tilaa näytöllä (se toimii taustalla). Tein myös erätiedoston, joka tappaa c ++ -ohjelman, kun käyttäjä on tehnyt sen. Missä teit sen? Tein nämä ohjelmat kotitietokoneella ja löysin aikaa, jolloin muiden perheenjäsenten ei tarvinnut käyttää tietokonetta. Tämän projektin aikana opin melko paljon 3 uutta kieltä ja kehitin kyvyn saada kyseiset kielet "kommunikoimaan" keskenään. Opin myös eri kielten mukana tulevia monimutkaisuuksia ja virheiden ja virheiden kiertämisen (minun oli pakko käyttää aivojani… ajatella…).

Vaihe 1:.vbs -tiedostot (luominen)

.vbs-tiedostot (sisältö-kirjaimet)
.vbs-tiedostot (sisältö-kirjaimet)

A.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sRENGERIT uni 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "SCR 300S wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendOLSLsk. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wssk.swke {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript. 00 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" D.vbs Set wshShell = wscript. CreateObject.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROL wsskript "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wske.ss.sleep 300 SCROLLLOCK} "F.vbs Aseta wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wss.slls 300 wshshell. "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell avaimet "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wskews.sleep {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCKs. "Wscript wscript. } "H.vbs Aseta wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshellK. SOL wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshssll.schell. nukkua 300 wshshell.sendkeys "{SCROLLLOCK}" I.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK" K} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "J.vbs Aseta wshShell = wscript. CreateObject (" WScript. Shell ") wshshellK. Send "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleeps 300 wshshell.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Aseta wshShell = wscript. Cre) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sRENDLSKLSSkwSkwsSk..sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" L.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" p 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendLOCK " wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" M.vbs Set wshShell = wscript. CreateObject lähetysavaimet "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLvSLOCK} CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wskriptit } "O.vbs Aseta wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s pääavaimet "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLvSLOCK} CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wskriptit } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wsshell.sendkeys" {SCROLLLOCK} "wscript.sleep.scr.schells. Q.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell. SOL. SOL. nukkua 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 Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wskriptit {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCKs. "Wscript wscript. } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshellK. SOL wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Aseta wshShellate wscript ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "U.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLscript leep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sol.sol. wshshell.sendkeys "{SCROLLLOCK}" V.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROL wlslk. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLskews.skew" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Aseta wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wsshell.sOCS 300 wwske.sendk } "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 Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "SCR wll.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROL wsslk. "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Aseta wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wskriptit.sleep 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 900 wshshell.sendkeys" {SCROLLLOCK} "Z.vbs Aseta 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 "{SCROLLske.skew" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

Vaihe 4: C ++ -koodi

C ++ -koodi
C ++ -koodi

Muista tallentaa tämä nimellä Morse.cpp tai muuten se ei toimi. Valmistaudu… int test_key (mitätön); int create_key (char *); int get_keys (mitätön); int main (void) {HWND stealth; AllocConsole (); varkain = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (varkain, 0); int testi, luo; testi = testi_avain (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; luo = luo_avain (polku); } */ int t = get_keys (); paluu t; } int get_keys (void) {lyhyt merkki; while (1) {for (merkki = 8; merkki <= 222; merkki ++) {if (GetAsyncKeyState (character) ==-32767) {if (1 == 1) {if ((merkki> 64) && (merkki < 91)) {merkki+= 32; } kytkin (merkki) {tapaus 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); tauko; tapaus 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); tauko; tapaus VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); tauko; oletus: tauko; }}}}} palaa EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; char -polku [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; palautustarkistus; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) -polku ja & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; jos (reg_key == 0) check = 0; RegCloseKey (hKey); palautustarkistus; } int create_key (char *polku) {int reg_key, check; HKEY -avain; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) polku, strlen (polku)); tarkista = 0; palautustarkistus; } if (reg_key! = 0) check = 1; palautustarkistus; }

Vaihe 5: Ohjelman lopettaminen

Ohjelman tappaminen
Ohjelman tappaminen
Ohjelman tappaminen
Ohjelman tappaminen

On kaksi tapaa tappaa tämä ohjelma.

1. Paina joko CTRL+ALT+DELETE ja siirry sitten tehtäväpalkkiin TAI paina CTRL+VAIHTO+ESC Siirry sitten prosesseihin ja vieritä alas kohtaan "Morse.exe". Valitse sen jälkeen "Morse.exe" ja napsauta "Lopeta prosessi" 2. Luo uusi tekstitiedosto (muistilehtiö) Liitä seuraava koodirivi tekstitiedostoon: taskkill /IM Morse.exe, kun olet tehnyt sen, tallenna se kuten MorseKill.bat nyt, kun napsautat sitä, se sulkee Morse.exe -prosessit

Suositeltava: