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