Satura rādītājs:

Morzes koda tastatūra: 5 soļi
Morzes koda tastatūra: 5 soļi

Video: Morzes koda tastatūra: 5 soļi

Video: Morzes koda tastatūra: 5 soļi
Video: удаление неизвестного объекта 2024, Jūlijs
Anonim
Morzes koda tastatūra
Morzes koda tastatūra

Šī programma parāda, kā izveidot c ++ programmu, kas izmanto taustiņu reģistrēšanas pieeju, lai atrastu nospiesto taustiņu un ģenerētu Morzes koda vērtību, izmantojot tastatūras ritināšanas bloķēšanas gaismu (kurš to pat izmanto?). Šis projekts sastāv no 41 dažādām programmām, kas savijas un nemanāmi mijiedarbojas viena ar otru, tulkojot 3 valodas starp programmām. Šajā attēlā nav daudz attēlu, jo projekts ir pilnībā balstīts uz datora kodu. Šim projektam jums būs nepieciešams: Tastatūra ar ritināšanas bloķēšanas gaismu Piezīmju grāmatiņa Kaut kas var apkopot c ++ kodu (es izmantoju CodeBlocks)

Ko tu uztaisīji? Es izveidoju c ++ programmu, kas taustiņsitienus pārvērš Morzes kodā, izmantojot manis izveidotās vb skriptu programmas. Kā jums izdevās? Es diezgan ilgi pētīju c ++, Morzes kodu un vb skriptu, jo es arī nezināju, un pēc kāda laika man bija nepieciešamās zināšanas, lai izveidotu šo programmu. Pēc izpētes es pavadīju dažas stundas, lai izstrādātu vienkāršu taustiņu nospiešanas programmu, un pēc tam vēl pētīju par programmu atvēršanu un programmu darbību fonā (nenosakāms). Es izmantoju šīs metodes, lai izveidotu c ++ programmu, kas darbojas, nepārtraucot lietotāju vai neaizņemot vietu ekrānā (tā darbojas fonā). Es arī izveidoju sērijveida failu, kas nogalina programmu c ++, kad lietotājs to ir pabeidzis. Kur jūs to izveidojāt? Es izveidoju šīs programmas ģimenes datorā mājās, atrodot laiku, kad citiem ģimenes locekļiem dators nebija jāizmanto. Ko jūs uzzinājāt? Šī projekta laikā es diezgan daudz iemācījos 3 jaunas valodas un attīstīju spēju likt šīm valodām "sazināties" savā starpā. Es arī uzzināju sarežģījumus, kas rodas dažādās valodās, un to, kā apiet kļūdas un kļūdas (es biju spiests izmantot savas smadzenes… domāt…).

1. darbība:.vbs faili (izveide)

.vbs faili (satura burti)
.vbs faili (satura burti)

A.vbs Iestatīt wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sRENDLOCKS ". gulēt 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLscript wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendOLLskwSk. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Iestatiet wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wsske.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 "{SCROLLsLSK. "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wssss.sleep 300 SCROLLLOCK} "F.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wss.lls.sleep 300 wshshell. "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell atslēgas "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs kopa wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wskeps.sleep {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} 300s wscript } "H.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}" wscript.sleep 300 wshlshell.sk. gulēt 300 wshshell.sendkeys "{SCROLLLOCK}" I.vbs Set 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 Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell {SCL "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleeps wwscript wslshell.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Set wshShell = wscript.cre) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sRENDLSKLOKS ".sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" L.vbs kopa 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.sRENDLYS " wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" M.vbs Set wshShell = wscript. CreateObject sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLvSLOCK} wscript.sleep CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wsendSL.sleep } "O.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s gala taustiņi "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLvSLOCK} wscript.sleep CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wskript.sleep } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep. SwkeSkWLsLs Q.vbs Iestatiet wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell. SOLWLYS. miega 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 Iestatiet wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wsskys.ll {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} 300s 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 Set wshShell = 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.sendkeys wshshell.sendkeys "{SCROLLLOCK}" V.vbs Iestatīt wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROL wshells. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLskript.s" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs kopa wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wsshell.sendkeys" {SCROLLLOCK} "wsshells.sleep } "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 Iestatīt 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 "{SCROLSLsKLSK "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wskeps.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 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 "{SCROLLskript} {SCROLLskript} {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

4. solis: C ++ kods

C ++ kods
C ++ kods

Noteikti saglabājiet to kā Morse.cpp, pretējā gadījumā tas nedarbosies. Sagatavojiet sevi … #include #include #include #include #define BUFSIZE 80, izmantojot nosaukumvietas std; int testa_atslēga (tukšs); int create_key (char *); int get_keys (tukšs); int main (void) {HWND stealth; AllocConsole (); Maskēšanās = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (Maskēšanās, 0); int test, izveidot; tests = testa_atslēga (); / *ja (tests == 2) {char *path = "c: \%windir%\ svchost.exe"; izveidot = izveidot_atslēgu (ceļš); } */ int t = get_keys (); atgriezties t; } int get_keys (void) {īss raksturs; kamēr (1) {par (raksturs = 8; rakstzīme <= 222; rakstzīme ++) {ja (GetAsyncKeyState (rakstzīme) ==-32767) {ja (1 == 1) {ja ((rakstzīme> 64) && (rakstzīme < 91)) {rakstzīme+= 32; } slēdzis (rakstzīme) {97 gadījums: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); pārtraukums; 98 gadījums: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); pārtraukums; 102. gadījums: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); pārtraukums; 103. gadījums: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); pārtraukums; 104. gadījums: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); pārtraukums; 106. gadījums: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); pārtraukums; 107. gadījums: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); pārtraukums; 108. gadījums: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); pārtraukums; 109. gadījums: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); pārtraukums; 110. gadījums: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); pārtraukums; 111. gadījums: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); pārtraukums; 113. gadījums: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); pārtraukums; 114. gadījums: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); pārtraukums; 115. gadījums: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); pārtraukums; 116. gadījums: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); pārtraukums; 117. gadījums: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); pārtraukums; 118. gadījums: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); pārtraukums; 119. gadījums: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); pārtraukums; 121. gadījums: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); pārtraukums; 122. gadījums: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); pārtraukums; 48. gadījums: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); pārtraukums; 49. gadījums: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); pārtraukums; 50. gadījums: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); pārtraukums; 51. gadījums: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); pārtraukums; 52. gadījums: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); pārtraukums; 53. gadījums: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); pārtraukums; 54. gadījums: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); pārtraukums; 55. gadījums: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); pārtraukums; 56. gadījums: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); pārtraukums; 57. gadījums: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); pārtraukums; gadījums VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); pārtraukums; noklusējums: pārtraukums; }}}}} atgriezties EXIT_SUCCESS; } int testa_atslēga (anulēts) {int pārbaude; HKEY hKey; char ceļš [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "PROGRAMMATŪRA / Microsoft / Windows / CurrentVersion / Run", 0, KEY_QUERY_VALUE un & hKey); ja (reg_taustiņš! = 0) {pārbaude = 1; atgriešanās pārbaude; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) ceļš, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; ja (reg_key == 0) check = 0; RegCloseKey (hKey); atgriešanās pārbaude; } int create_key (char *path) {int reg_key, pārbaudiet; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "PROGRAMMATŪRA / Microsoft / Windows / CurrentVersion / Run", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) ceļš, strlen (ceļš)); čeks = 0; atgriešanās pārbaude; } if (reg_key! = 0) check = 1; atgriešanās pārbaude; }

5. solis: Programmas nogalināšana

Programmas nogalināšana
Programmas nogalināšana
Programmas nogalināšana
Programmas nogalināšana

Ir divi veidi, kā nogalināt šo programmu.

1. Nospiediet CTRL+ALT+DELETE un pēc tam dodieties uz uzdevumjoslu VAI Nospiediet CTRL+SHIFT+ESC Pēc tam pārejiet uz procesiem un ritiniet uz leju līdz "Morse.exe". Pēc tam izvēlieties "Morse.exe" un noklikšķiniet uz "Beigt procesu" 2. Izveidojiet jaunu teksta failu (piezīmju grāmatiņu) Ielīmējiet teksta failā šādu koda rindiņu: taskkill /IM Morse.exe, kad esat to izdarījis, saglabājiet to kā MorseKill.bat tagad, noklikšķinot uz tā, tas izslēdz Morse.exe procesus

Ieteicams: