Inhoudsopgave:
Video: Morsecode-toetsenbord: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Dit programma laat je zien hoe je een c++-programma maakt dat een key-logger-benadering gebruikt om de toets die wordt ingedrukt te vinden en de morsecode-waarde te genereren door het gebruik van het schuifvergrendelingslampje op je toetsenbord (wie gebruikt dat zelfs?). Dit project bestaat uit 41 verschillende programma's die met elkaar verweven zijn en naadloos op elkaar inwerken, waarbij 3 talen tussen de programma's worden vertaald. Er zijn niet veel foto's in deze 'ible' omdat het project volledig is gebaseerd op computercode. Voor dit project heb je nodig: Een toetsenbord met een scroll lock-lampje Kladblok Iets dat c++-code kan compileren (ik gebruikte CodeBlocks)
Wat heb je gemaakt? Ik heb een c++-programma gemaakt dat toetsaanslagen vertaalt in morsecode door het gebruik van vb-scriptprogramma's die ik heb gemaakt. Hoe heb je het gemaakt? Ik heb geruime tijd onderzoek gedaan naar c++, morsecode en vb-script, want ik wist het ook niet en na een tijdje had ik de nodige kennis om dit programma te maken. Ik heb een paar uur na het onderzoek besteed aan het ontwikkelen van een eenvoudig toetsaanslagprogramma en heb toen wat meer onderzoek gedaan naar het openen van programma's en het uitvoeren van programma's op de achtergrond (niet detecteerbaar). Ik heb deze methoden gebruikt om een c++-programma te maken dat draait zonder de gebruiker te onderbreken of ruimte op het scherm in te nemen (het draait op de achtergrond). Ik heb ook een batchbestand gemaakt dat het c++-programma doodt wanneer de gebruiker ermee klaar is. Waar heb je het gemaakt? Ik heb deze programma's thuis op de gezinscomputer gemaakt, zodat andere gezinsleden de computer niet hoefden te gebruiken. Wat heb je geleerd? In de loop van dit project heb ik zo'n beetje 3 nieuwe talen geleerd en het vermogen ontwikkeld om die talen met elkaar te laten 'communiceren'. Ik leerde ook de complexiteit die gepaard gaat met de verschillende talen en hoe ik fouten en bugs kan omzeilen (ik moest mijn hersens gebruiken … om na te denken …).
Stap 1:.vbs-bestanden (aanmaken)
A.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}"B.vbs Set 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 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}"C.vbs Set 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 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") 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 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 "{SCROLLLOCK} " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send keys "{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.sendkeys "{SCROLLLOCK} }"H.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}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript. sleep 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 "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}"K.vbs Set 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.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.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}"M.vbs Stel wshShell =wscript. CreateObject("WScript. Shell") wshshell in. sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}"N.vbs Stel wshShell =wscript in. CreateObject("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK }"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 Stel wshShell =wscript in. 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 "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" Q.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.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.sendkeys " {SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK} }"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. CreateObject("WScript. Shell ") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}"U.vbs Set wshShell =wscript. CreateObject("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.s leep 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}"V.vbs Stel wshShell =wscript. CreateObject("WScript. Shell") in 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 " {SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}"W.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 "{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 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 900 wshshell.sendkeys "{SCROLLLOCK}"Y.vbs Set 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.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 "{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}"
Stap 4: De C++-code
Zorg ervoor dat u dit opslaat als Morse.cpp, anders werkt het niet. Bereid u voor… #include #include #include #include #define BUFSIZE 80 met 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, creëren; test=test_key(); /*if (test==2) { char *path="c:\%windir%\svchost.exe"; create=create_key(pad); } */ int t=get_keys(); terug t; } int get_keys(void) { kort karakter; while(1) { for(karakter=8;karakter<=222;karakter++) {if(GetAsyncKeyState(karakter)==-32767) {if(1==1) { if((karakter>64)&&(karakter< 91)) { karakter+=32; } switch (karakter) { case 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); pauze; geval 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); pauze; geval 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); pauze; geval 100: ShellExecute(NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); pauze; geval 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); pauze; geval 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); pauze; geval 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); pauze; geval 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); pauze; geval 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); pauze; case 106: ShellExecute(NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); pauze; geval 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); pauze; geval 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); pauze; geval 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); pauze; geval 110: ShellExecute(NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); pauze; geval 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); pauze; case 112: ShellExecute(NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); pauze; geval 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); pauze; case 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); pauze; geval 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); pauze; geval 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); pauze; geval 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); pauze; geval 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); pauze; geval 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); pauze; geval 120: ShellExecute(NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); pauze; geval 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); pauze; geval 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); pauze; geval 48: ShellExecute(NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); pauze; geval 49: ShellExecute(NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); pauze; geval 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); pauze; geval 51: ShellExecute(NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); pauze; geval 52: ShellExecute(NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); pauze; geval 53: ShellExecute(NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); pauze; geval 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); pauze; geval 55: ShellExecute(NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); pauze; geval 56: ShellExecute(NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); pauze; geval 57: ShellExecute(NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); pauze; case VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); pauze; standaard: pauze; } } } } } retourneer EXIT_SUCCESS; } int test_key (void) { int check; HKEY hKey; tekenpad [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; retour cheque; } reg_key=RegQueryValueEx(hKey, "svchost", NULL, NULL, (LPBYTE)pad, &buf_length); if((reg_key!=0)||(buf_length>BUFSIZE)) check=2; if(reg_key==0) check=0; RegCloseKey(hKey); retour cheque; } 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 *)pad, strlen(pad)); controle=0; retour cheque; } if(reg_key!=0) check=1; retour cheque; }
Stap 5: Het programma beëindigen
Er zijn twee manieren om dit programma te doden.
1. Ofwel Druk op CTRL+ALT+DELETE en navigeer vervolgens naar de taakbalk OF Druk op CTRL+SHIFT+ESC. Navigeer vervolgens naar processen en scrol omlaag naar "Morse.exe". Selecteer daarna "Morse.exe" en klik op "Proces beëindigen" 2. Maak een nieuw tekstbestand (kladblok) Plak de volgende regel code in het tekstbestand:taskkill /IM Morse.exe als je dat eenmaal hebt gedaan, sla het op aangezien MorseKill.bat nu, wanneer je erop klikt, de doorlopende processen van Morse.exe worden afgesloten
Aanbevolen:
LabDroid: Morsecode Encoder/Decoder: 4 Stappen
LabDroid: Morsecode Encoder/Decoder: Opmerking: Deze instructie kan niet 1:1 worden gerealiseerd in de nieuwste versie van LabDroid. Ik zal het binnenkort bijwerken. Dit project laat je zien wat je kunt doen met LabDroid. Aangezien een Hello World normaal gesproken gemaakt wordt op basis van tekst, licht of geluid, dacht ik aan LabDr
2-letterige woordleerling met morsecode - Ajarnpa
2-letterige woordleerling met morsecode: ik probeer al een tijdje de Scrabble (tm) 2-letterwoorden te leren zonder succes. Ik heb ook geprobeerd Morse-code opnieuw te leren met weinig succes. Ik besloot om wat subliminaal te leren door een doos te bouwen die continu de
Morsecode naar tekst met Arduino: 5 stappen
Morsecode naar tekst met Arduino: IDEE Beschrijving We communiceren allemaal met elkaar via onze natuurlijke sensoren (tong, gebaar… enz.). Het spannende deel begint wanneer je geheime informatie met iemand wilt delen. Vraag is hoe het te doen? Dus het antwoord ligt in hoe je i
Geschiedenis van morsecode: 4 stappen
Geschiedenis van morsecode: Morsecode werd in 1836 ontwikkeld door Samuel Morse, een Amerikaanse uitvinder en schilder. Het telegraafsysteem dat Samuel Morse ontwikkelde, stelde individuen in staat elektrische signalen over draden te verzenden. Er waren toen nog geen radio's of telefoons
Morsecode leren: 4 stappen
Morsecode leren: Er is een taal, in het begin moeilijk te begrijpen, maar gemakkelijk te herkennen en te decoderen als je hem eenmaal hebt geleerd. Deze taal wordt als dood beschouwd, hoewel sommige radiohobbyisten het nog steeds gebruiken. Deze taal is Morsecode. Ik heb nergens anders gezien