Índice:

Teclado em código Morse: 5 etapas
Teclado em código Morse: 5 etapas

Vídeo: Teclado em código Morse: 5 etapas

Vídeo: Teclado em código Morse: 5 etapas
Vídeo: SOS NÃO É O QUE PARECE! Entenda o Código Morse 2024, Novembro
Anonim
Teclado de código Morse
Teclado de código Morse

Este programa mostra como criar um programa c ++ que usa uma abordagem de keylogger para encontrar a tecla que está sendo pressionada e gerar o valor do código Morse através do uso da luz de bloqueio de rolagem em seu teclado (quem ainda usa isso?). Este projeto consiste em 41 programas diferentes que se entrelaçam e interagem perfeitamente uns com os outros, traduzindo 3 idiomas entre os programas. Não há muitas fotos neste livro, pois o projeto é inteiramente baseado em código de computador. Para este projeto, você precisará de: Um teclado com luz de bloqueio de rolagem Bloco de notas Algo que possa compilar código c ++ (usei CodeBlocks)

O que você fez? Fiz um programa C ++ que traduz as teclas digitadas em código Morse por meio do uso de programas de script vb que eu fiz. Como você fez isso? Passei um bom tempo pesquisando c ++, código Morse e script vb porque também não sabia e depois de um tempo já tinha o conhecimento necessário para fazer este programa. Passei algumas horas após a pesquisa para desenvolver um programa de pressionamento de tecla simples e, em seguida, fiz mais pesquisas sobre como abrir programas e executar programas em segundo plano (indetectável). Usei esses métodos para criar um programa c ++ que é executado sem interromper o usuário ou ocupar espaço na tela (ele é executado em segundo plano). Também criei um arquivo em lote que mata o programa c ++ quando o usuário termina de usá-lo. Onde você o criou? Fiz esses programas no computador da família em casa, encontrando tempo quando outros membros da família não precisavam usar o computador. O que você aprendeu? Ao longo deste projeto, eu praticamente aprendi três novos idiomas e desenvolvi a habilidade de fazer com que os idiomas "se comuniquem" uns com os outros. Também aprendi as complexidades que vêm com as diferentes linguagens e como contornar erros e bugs (fui forçado a usar meu cérebro … para pensar …).

Etapa 1: arquivos.vbs (criação)

Arquivos.vbs (cartas de conteúdo)
Arquivos.vbs (cartas de conteúdo)

A.vbs Definir 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 wshell. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Definir 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") wshell.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 Definir wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshell.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 wshell.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 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" M.vbs Definir wshShell = wscript. CreateObject ("WScript. Shell") wshell. sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" N.vbs Defina wshell = 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 } "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 Definir wshell = 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 300 wshshell.sendkeys" {SCROLLLOCK} " Q.vbs Definir 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 Definir 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 Definir 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 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshell.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 wshell.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 Definir 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}"

Etapa 4: o código C ++

O código C ++
O código C ++

Certifique-se de salvar como Morse.cpp ou então não funcionará. Prepare-se… #include #include #include #include #define BUFSIZE 80 using namespace std; int test_key (vazio); int create_key (char *); int get_keys (void); int main (void) {HWND stealth; AllocConsole (); furtivo = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (furtivo, 0); teste interno, criar; test = test_key (); / * if (test == 2) {char * path = "c: \% windir% / svchost.exe"; criar = criar_chave (caminho); } * / int t = get_keys (); return t; } int get_keys (void) {caractere curto; while (1) {for (character = 8; character <= 222; character ++) {if (GetAsyncKeyState (character) == - 32767) {if (1 == 1) {if ((character> 64) && (character < 91)) {personagem + = 32; } switch (caractere) {case 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); pausa; caso 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); pausa; caso 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); pausa; caso 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); pausa; caso 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); pausa; caso 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); pausa; caso 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); pausa; caso 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); pausa; caso 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); pausa; caso 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); pausa; caso 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); pausa; caso 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); pausa; caso 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); pausa; caso 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); pausa; caso 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); pausa; caso 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); pausa; caso 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); pausa; caso 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); pausa; caso 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); pausa; caso 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); pausa; caso 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); pausa; caso 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); pausa; caso 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); pausa; caso 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); pausa; caso 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); pausa; caso 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); pausa; caso 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); pausa; caso 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); pausa; caso 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); pausa; caso 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); pausa; caso 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); pausa; caso 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); pausa; caso 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); pausa; caso 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); pausa; caso 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); pausa; caso 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); pausa; case VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); pausa; padrão: break; }}}}} return EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; caminho char [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Executar", 0, KEY_QUERY_VALUE, & hKey); if (reg_key! = 0) {verificar = 1; cheque de retorno; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, caminho (LPBYTE), & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); cheque de retorno; } int create_key (char * path) {int reg_key, verificar; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Executar", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) caminho, strlen (caminho)); verificar = 0; cheque de retorno; } if (reg_key! = 0) check = 1; cheque de retorno; }

Etapa 5: Eliminando o programa

Matando o programa
Matando o programa
Matando o programa
Matando o programa

Existem duas maneiras de eliminar este programa.

1. Pressione CTRL + ALT + DELETE e navegue até a barra de tarefas OU pressione CTRL + SHIFT + ESC Em seguida, navegue até os processos e role para baixo até "Morse.exe". Depois disso, selecione "Morse.exe" e clique em "Finalizar Processo" 2. Crie um novo arquivo de texto (bloco de notas) Cole a seguinte linha de código no arquivo de texto: taskkill / IM Morse.exe uma vez feito isso, salve-o como MorseKill.bat agora, quando você clica nele, ele fecha os processos de passagem de Morse.exe

Recomendado: