[perl] DB extractor

Stato
Discussione chiusa ad ulteriori risposte.

King Master

Utente Silver
21 Settembre 2007
138
7
48
98
PHP:
#!/usr/bin/perl
use strict;
my($d,$db_database,$db_prefix,$db_columnumbers,$db_splitter,$db_resultfile,$line,$realnum,$list,$dumplist,$x,@db_columnumbers,@fulldb,@columndata);
sub usage{
print "USAGE: <database>\tdb dump
<prefix>\tPrefix of the table you're dumping
<columns>\t\tNumbers pointing to the data you want, seperate by commas
<delimiter>\tWhat to split the resulting data by.
\t\tIf you want spaces then enclose with quotes
<resultfile>\tFile to dump the data to\n";
print "EX: dump_gamers.sql e107_users 2,5 : gamerdump.txt\n";
exit;
}

if(!$^O =~ m/linux/i){system("clear");}else{system("cls");}
&usage unless @ARGV==5;
$db_database=$ARGV[0];
$db_prefix=$ARGV[1];
$db_columnumbers=$ARGV[2];
$db_splitter=$ARGV[3];
$db_resultfile =$ARGV[4];
@db_columnumbers = split(/,/,$db_columnumbers);
open(xfile, "<$db_database") || die "Couldn't open $list\n";
@fulldb = <xfile>;
close(xfile);
chomp(@fulldb);

foreach $line(@fulldb){
if(($line =~ m/INSERT INTO \'$db_prefix\'\((.*?)\)/i) || ($line =~ m/INSERT INTO \`$db_prefix\`\((.*?)\)/i) || ($line =~ m/^INSERT INTO $db_prefix(.*?)\((.*?)\)/i)){
$line =~ s/INSERT INTO \'$db_prefix\'/INSERT INTO \`$db_prefix\`/;
@columndata = split(/\'/,$line);
$d=1;
open(DBLOG,">>$db_resultfile") || die "[-] Couldn't open $db_resultfile\n";
print "[+] ";
for($x=0;$x<=$#db_columnumbers;$x++){
$realnum = $db_columnumbers[$x]*2-1;
if($x==$#db_columnumbers){
print "$columndata[$realnum]\n";
print DBLOG "$columndata[$realnum]\n";
}
else{
print "$columndata[$realnum]$db_splitter";
print DBLOG "$columndata[$realnum]$db_splitter";
}
}
}
}
close(DBLOG);
if($d){
print "[+] Parsing & dumping completed\n";
}
else{
print "[-] No data was extracted\n";
}
 
Lol però hai messo il tag code php XD vabbè dai va bene così ^^
 
Ak3R ha detto:
Lol però hai messo il tag code php XD vabbè dai va bene così ^^

anzi che l' ho messo dovresti ringraziarmi... U_U
 
sCiEnZiAtOpAzZo ha detto:
ehh no ci vuole precisione xD

o scienzy ancora con sto banchetto di ram? e porta la salsa ai 4 hard disk non te lo scordà :lol:

due spaghetti al mouse :lol:
 
Stato
Discussione chiusa ad ulteriori risposte.