use Getopt::Std;
#mr-hacks is the coder
my %argx;
getopt("a:g:h",\%argx);
sub help{
print qq{
[+] tarants 0.2b || C1c4Tr1Z
[+] Uso: $0 [-gh] -a [archivo]
[+] Opcionales:
-g out guardar output pruba (C).
-h ayuda.
};
exit(0);
}
sub output{
my $out=shift(@_);
my $gena=shift(@_);
print "[+]Output: $out $/";
open(GOUT, "> $out") || die "[-]$! << EOF\n";
print GOUT "#include
gen($gena);
print GOUT $retchar;
print GOUT qq{int main(){
void (*shell)() = (void *)shellcode;
shell();
exit(1);
}
/*
generated by tarants v0.2b
*/};
close(GOUT);
print $retchar;
print "[+] << EOF\n";
}
sub gen($){
$narch=shift;
$n=1;
open(ARCHIVO,$narch) || die "[-]$! << EOF\n";
@chars=split(undef,
close(ARCHIVO);
$retchar="\nchar shellcode[]=\n\t\"";
foreach $char(@chars){
chomp($char);
$char=~s/([^*])/sprintf("\\x%02x", ord($1))/seg;
if($n!=15){
$retchar.= $char;
$n++
}else{
$retchar.= $char."\"\n\t\"";
$n=1;
}
}
$retchar.= "\";\n\n";
return $retchar;
}
if($argx{g} && $argx{a}){
if(!$argx{a}){
print STDERR "[-]No se especifico el archivo.. << EOF\n";
exit(0);
}else{
output($argx{g},$argx{a});
}
}
if($argx{a} && !$argx{g}){
gen($argx{a});
print $retchar;
}
if(!$argx{a} || $argx{h}){
help();
}
Tidak ada komentar:
Posting Komentar