Il blog per tutti gli smanettoni del pc

Home » Archivi per la categoria ‘C/C++’
feb 1

Lo scopo della funzione gotoxy, presente nella libreria conio.h , è quello di spostare il cursore della console.
DevC++ non contiene la libreria perciò,se non vogliamo installarla, l’unica soluzione è quella di creare la funzione:

#include <windows.h>
#include <stdio.h>
#include <iostream.h>
void gotoxy(int x,int y){     
     HANDLE HConsole;
     CONSOLE_SCREEN_BUFFER_INFO ConsoleInfo;     
     HConsole = GetStdHandle(STD_OUTPUT_HANDLE);
     ConsoleInfo.dwCursorPosition.X = x;
     ConsoleInfo.dwCursorPosition.Y = y;     
     SetConsoleCursorPosition(HConsole,ConsoleInfo.dwCursorPosition);     
}
int main(){
    gotoxy(3,2);
    printf("IOSMANETTO.it\n");
    gotoxy(3,1);
    system("pause");
    return 1;
    }

HANDLE HConsole; HANDLE è simile ad un puntatore ma è piu’ complesso.

CONSOLE_SCREEN_BUFFER_INFO ConsoleInfo; Dichiariamo ConsoleInfo come struttura CONSOLE_SCREEN_BUFFER_INFO . La struttura contiene informazioni sulla console come la posizione del cursore, il colore del testo e dello sfondo ecc.

HConsole = GetStdHandle(STD_OUTPUT_HANDLE); Otteniamo l’Handle della console

ConsoleInfo.dwCursorPosition.X = x; ConsoleInfo.dwCursorPosition.Y = y; Inseriamo le nuove coordinate

SetConsoleCursorPosition(HConsole,ConsoleInfo.dwCursorPosition);
SetConsoleCursorPosition setta la posizione del cursore. Come parametri passiamo l’handle della console e la nuova posizione.

gen 31

Nell’articolo precedente abbiamo realizzato un keylogger per windows in c++. Chi ha letto l’articolo e provato il keylogger avrà sicuramente notato un piccolo particolare : la console è visibile e chiunque puo’ notare la sua presenza. Come nasconderla allora ?

#include <windows.h>
#include <stdlib.h>
int main(int argc, char * argv[])
{
    HWND form; 
    form = GetForegroundWindow();
    ShowWindow(form, false);
    system("pause");
}

HWND form; Dichiara la variabile form di tipo HWND. HWND sta per (h)handle (wnd)window e viene usata per accedere alla proprietà di una finestra.

form = GetForegroundWindow(); La funzione GetForegroundWindow restituisce il puntatore della finestra in primo piano.

ShowWindow(form, false); ShowWindow modifica lo stato di una finestra. Con false indichiamo di nascondere la finestra

Semplice no !? Per il keylogger rendere invisibile la finestra è importantissimo ma non è il massimo : dal Taskmenager è sempre possibile individuare il processo .

gen 30

Lo scopo dell’articolo è puramente didattico. Non mi assumo nessuna responsabilità sull’uso illecito dello script.

Per spiare una persona non è necessario nulla di complicato: basta infatti intercettare in qualche modo quello che viene digitato sulla tastiera. Lo strumento necessario per questo tipo di operazione è il keylogger che puo’ essere software o hardware.

Oggi parleremo di quello software realizzandone uno in c++.

Lo scopo del keylogger è quello di intercettare i tasti premuti dall’utente e registrali in un file.
La funzione GetAsyncKeyState, presente nella libreria windows.h, è indispensabile perchè restituisce lo stato di un bottone , cioè se è premuto o no.

Ecco un semplice esempio per utilizzare questa funzione.

#include <stdio .h>
#include <windows .h>
#include <stdlib .h>
int main(){   
    while(1){                     
             if(GetAsyncKeyState(65)==-32767){                                             
                    cout < < "Tasto A premuto\n";                                                         
              }                           
    }    
    return 1;
}

Continua a leggere

dic 19

In circolazione esistono diversi compilatori per c/c++ . Personalmente uso Bloodshed Dev-C++, e devo dire che mi trovo abbastanza bene.

Per scaricare Dev-C++ andate a questo indirizzo : download

Scorrete la pagina fino a Downloads. Individuata la versione, fate click su SourceForge. Continua a leggere

dic 18

Con questo articolo, ci avviamo allo studio del C, uno dei linguaggi più flessibili e efficienti che possa esistere .
Il C è un linguaggio di medio livello. I linguaggi ad alto livello sono il vb ( Visual Basic ) , il PHP , il Pascal e tutti quei linguaggi che contengono istruzioni vicine al modo di pensare umano . Cio’ permette di ridurre notevolmente il tempo per la realizzazione degli algoritmi . Un linguaggio a Basso Livello è molto piu’ difficile da gestire e analizzare, perchè è piu’ vicino al linguaggio macchina .  Di solito quest’ultimo viene usato per realizzare applicazioni dove lo spreco di memoria non accettabile. Ricordiamo che programmare a Basso Livello, vuol dire avere il pieno controllo della CPU e della memoria  .
Continua a leggere