- avviare il programma tenendo il mouse fermo
- spegnere lo schermo
- andare a giocare a pallone ( per esempio )


una volta tornati sarà possibile comprendere se è stato spostato il mouse o meno, nel caso in cui il mouse è rimasto fermo allora sulla console apparirà la scritta "Il mouse non è stato mosso", in caso contrario apparirà la scritta "Il mouse è stato mosso" e verrà bloccato l'input di mouse e tastiera. Inoltre, quando il mouse verrà mosso la frase "Il mouse è stato mosso" verrà scritta in un file di testo ( che si troverà nella stessa cartella del programma ) encrittata in modo che se venisse letta non potrebbe essere capita; sarà poi compito del secondo programma ( al di fuori del "mouse monitor" ) decriptare questo file; ancora oltre a questo il programma scriverà una chiave ( una stringa ) su una pen drive ( indicata dall'utente ). Infine, per arrestare il programma sarà sufficiente inserire la chiavetta contenente la chiave.


Ricapitolando, il programma "Mouse monitor" comprende 2 programmi :


1) Il vero e proprio mouse monitor
2) Un programma per decriptare il testo scritto nel file contenente il testo encrittato


Mouse monitor.cpp


Codice PHP:
#include "stdafx.h"#include <iostream>#include <fstream>#include <sstream>#include <Windows.h>#include <conio.h>
using namespace std;
string getMousePosition();string encryptText(string text);void printUsage();
int main(){    char path[19] = "";    char pendriveletter[1];    string firstposition;    ofstream _keyfile;
    
printUsage();        do    {        cout << "Scrivi la lettera dell'unità USB sulla quale salvare il file contenente la chiave : ";        cin >> pendriveletter;        if(strlen(pendriveletter) > 1)            printf("Devi scrivere solo la lettera dell'unità USB!\n");        else        {            strcpy(pathpendriveletter);            strcat(path":\\generatedkey.tmp");
            
_keyfile.open(path);            _keyfile << "mousemonitorkey";            _keyfile.close();
            if(
fopen(path"r") == NULL)                printf("La lettera dell'unità USB inserita è inesistente!\n");        }    } while((strlen(pendriveletter) > 1) || (fopen(path"r") == NULL));
    while(
fopen(path"r") != NULL)    {        cout << "\nRimuovere la pen drive e premere un tasto\n\nNB: E' importante, per il corretto funzionamento del programma, rimuovere la pen drive dopo aver creato la chiave e tenere fermo il mouse\n\n";        getch();    }
    
firstposition getMousePosition();
    for(;;)    {        
string secondposition getMousePosition();
        
Sleep(300);                if(firstposition.compare(secondposition) == 0)        {            if ((fopen(path"r")) != NULL)            {                BlockInput(FALSE);                break;            }
            
cout << "Il mouse non è stato mosso\n";        }        else        {            if ((fopen(path"r")) != NULL)            {                BlockInput(FALSE);                break;            }
            
cout << "Il mouse è stato mosso\n";
            
ofstream _statusfile("status.tmp");            _statusfile << encryptText("Il mouse è stato mosso");            _statusfile.close();
            
BlockInput(TRUE);        }     }
    
getch();    return 0;
}
string getMousePosition(){    POINT cursorPos;    float x 00;    string positionXY;    stringstream sX (std::stringstream::in std::stringstream::out);    stringstream sY (std::stringstream::in std::stringstream::out);
    
GetCursorPos(&cursorPos);    cursorPos.x;     cursorPos.y;
    
sX << x;    sY << y;    sX.str();    sY.str();
    return 
"X = " ", " "Y = " Y;}
string encryptText(std::string text){    for(int i 0text.length(); i++)    {        text[i] += 20;    }
    return 
text;}
void printUsage(){    cout << "\t\t\t---------------------\n";    cout << "\t\t\t| Mouse monitor.exe |\n";    cout << "\t\t\t---------------------\n\n";
    
cout << "Questo programma permette di monitorare il mouse in modo che nessuno possa usare il computer dell'utente a sua insaputa.\n";    cout << "Per far funzionare correttamente il programma bisogna seguire i seguenti punti :\n\n";    cout << "1. Avviare il programma\n2. Inserire una pen drive\n3. Indicare al programma il percorso dove scrivere la chiave\n4. Togliere la pen drive e premere un tasto\n5. Tenere il mouse fermo e spegnere il monitor\n\nPer stoppare il programma basta inserire la pen drive contenente la chiave.\n\n";} 

Text decrypter.cpp


Codice PHP:
#include "stdafx.h"#include <iostream>#include <fstream>#include <string>#include <conio.h>
std::string decryptText(std::string text);
int main(){    FILE *_f1;    char file[50], decrypted[25];    std::ofstream _file("decrypted.txt");
    
std::cout << "File da decryptare : ";    std::cin >> file;
    if(
strlen(file) > 50)        printf("Percorso troppo lungo\n");    else    {        _f1 fopen(file"r");
        if(
_f1 == NULL)            printf("Il file non esiste\n");        else        {            if(fgets(decrypted25_f1) != NULL)            {                _file << decryptText(decrypted);                _file.close();            }        }    }
    
getch();    return 0;}
std::string decryptText(std::string text){    for(int i 0text.length(); i++)    {        text[i] -= 20;    }
    return 
text;} 

Download : Mouse monitor


Scansione : https://www.virustotal.com/file/0ae1is/1342360784/


Alla prossima.

👉 Potrebbero interessarti anche: