PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C | iStealer Log Sortierer



br00_pwn
23.08.2010, 15:59
Hallo zusammen,
hier mal ein simpler Code von mir, um schnell und effektiv iStealer-Logs zu sortieren ! (C99)
Sicherlich werden die C-Freaks unter uns einige unschöne Zeilen finden,
aber da ich erst seit ein paar Tagen C lerne, bin ich damit ganz zufrieden :D



#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#define SLEN 1000

char befehl[SLEN];
char suchwort[SLEN];
char pfad[SLEN];
char logy[SLEN];


int logcheck(void){

printf("Bitte geben Sie die Log-Datei an: \nBeispiel: /home/user/log.txt\n");
printf("------------------------------------------------\n");
scanf("%999s", logy);

struct stat st;
if(!(stat (logy,&st) == 0) ) {
printf("%s ist keine gültige Datei!!! \nBitte wiederholen Sie Ihre Eingabe... \n",logy);
printf("\n");
logcheck();
}

return 0;

}



int safecheck(void){

printf("\n");
printf("Bitte geben sie den Speicherpfad an: \nBeispiel: /home/user/Desktop/ \n");
printf("------------------------------------------------\n");
scanf("%999s", pfad);
printf("\n");

struct stat st;
if(!(stat (pfad,&st) == 0) ) {
printf("%s ist kein gültiges Verzeichnis!!! Bitte wiederholen Sie Ihre Eingabe... \n",pfad);
printf("\n");
safecheck();
}

return 0;

}




int main(void){



system("clear");

printf("################################################## ############\n");
printf("#************************************************* ***********#\n");
printf("#*********************** LOG-Sortierer **********************#\n");
printf("#************************************************* ***********#\n");
printf("################################################## ############\n");
printf("\n");


printf("Bitte geben sie die Suchwörter an: \nBeispiel: ( msn steam rapidshare uploaded usw.) \n");
printf("------------------------------------------------\n");
fgets(suchwort, 1000, stdin);
printf("\n");


logcheck();
safecheck();


char *ptr;
int count = 0;

ptr = strtok(suchwort, " ");
while(ptr != NULL)

{
sprintf(befehl,"grep -i -A 3 \"%s\" %s >> %s%s",ptr,logy,pfad,ptr);
system(befehl);
printf("%d)\t Folgende Datei wurde angelegt:\t %s\n",++count,ptr);

ptr = strtok(NULL, " ");

}

printf("************************************************** ************\n");
printf("*####################### br00_pwn ###########################*\n");
printf("************************************************** ************\n");
printf("\n");

return EXIT_SUCCESS;

}

Das Tool funktioniert ausschließlich unter Linux !
Einfach compilieren und starten : ./programmname

LG br00_pwn

blackberry
23.08.2010, 17:08
Naja... wofür man ein C Programm braucht, wenn man nur einen Shell-Befehl ausführen möchte ist höchst fraglich.
Des weiteren wird das scanf hier wohl nicht so ganz korrekt sein:

printf("Bitte geben Sie die Log-Datei an: \nBeispiel: /home/user/log.txt\n");
printf("------------------------------------------------\n");
scanf("%s999", logy);

br00_pwn
23.08.2010, 17:13
Ja dein Argument ist schon sinnvoll, aber in erster Linie ging es mir darum, die Sachen die ich die letzten 2 Tage gelernt habe in ein kleines eigenes Tool zu verfassen.
Das Tool wurde also zu Lernzwecken geschrieben :D
Was sollte an dem scanf nicht funktionieren ?
Kannst es ja mal compilieren, funzt einwandfrei ! - - -> (edit: hups, hatte das "s" wohl komischerweise verschoben)


Edit:

...wenn man nur einen Shell-Befehl ausführen möchteNaja, es automatisiert eben den Vorgang und man kann beliebig viele Logs schnell sortieren.
Sicherlich würde ein Shell-Script dafür ausreichen, aber dabei lerne ich kein C :D
...und effektiv ist es auf jeden Fall.

LG br00_pwn

blackberry
23.08.2010, 18:05
Nachdem ich nun schon den 10. THX Post gelöscht habe:

/closed (wenn euch der Source gefällt oder hilft, dann drückt auf den THX-Button, aber müllt nicht den Thread zu -- siehe §2.4 Boardregeln)