Perl

  • Креатор на темата Креатор на темата Petkovsky
  • Време на започнување Време на започнување
Да да. Имам нешо почнато јас со експлоити само неможам да стасам со факсов, а многу е тоа заразно упм.

Па јас на факс го учам ова , инаку вкрај се заразни, ко ќе почниш то е готово ојдоја неколку сати. :)
Незнам дали е дозволено овде да ставам неколку како за пример.
 
Од перл моментално користам само regular expression во PHP, инаку колку што имам заприметено немам некои потешкотии со разбирање на кодот, многу е сличен со PHP.
 
Од перл моментално користам само regular expression во PHP, инаку колку што имам заприметено немам некои потешкотии со разбирање на кодот, многу е сличен со PHP.

Ахх... за болдираното (бар од моја гледна точка) не би рекол баш дека е сличен. Има сличности, ама синтаксата му е ужасна, единствено што ми се допаѓа кај Perl се неговите библиотеки и брзината на извршување.

Инаку кога сме кај Perl, еве ви од мене еден бот кој пребарува фајлови низ интернет. Значи, пример доколку сакате да најдете туторијали за Java во .pdf формат, пишувате:

perl finder.pl .pdf java tutorial
#############################################
### [Bot Finder] - SkyDriver ###
#############################################

Scanning in progress... Please wait!

Scanning depth 1...
New results found: 8

Scanning depth 2...
New results found: 0

Scanning depth 3...
New results found: 32



Finish...
The results was stored in results.txt.
Код:
#!/usr/bin/perl

use LWP::UserAgent;
use HTML::LinkExtor;

print "\n#############################################";
print "\n###        [Bot Finder] - SkyDriver       ###";
print "\n#############################################";

if ($#ARGV < 1) {
    print "Usage: perl finder.pl [file type] [file name]\n";
    exit;
}

print "\n\nScanning in progress... Please wait!\n\n";

my $type =  shift(@ARGV);
my $search = "@ARGV";
$search =~ s/ /+/g;

my $depth = 0;

my $parser = HTML::LinkExtor->new();
my $ua = LWP::UserAgent->new();

$ua->timeout(10);
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

sub GetLinks {
    my($tmp_url) = @_;
    $req = $ua->get($tmp_url);
    $tmp_html = $req->content;
    $parser->parse($tmp_html);
    return $parser->links;
    
}

$file = "results.txt";
open(INFO, ">$file");
for($i=0; $i<3; $i++) {
    print "Scanning depth " , $i+1 . "...\n";
    $count_new_results = 0;
    $url = "http://www.google.com/search?hl=en&q=%22index%20of/%22%20".$type."%20".$search."&start=".$depth."&sa=N";
    my @links = &GetLinks($url);
    foreach $link (@links) {
        $tmp = "$$link[2]";
        if( (substr "$tmp", 0, 4) eq "http" and "$tmp" !~ /google/) {
            @new_links = &GetLinks($tmp);
            foreach $tmp_new_links (@new_links) {
                $tmp_ = "$$tmp_new_links[2]";
                if( (substr "$tmp_", length($tmp_)-length($type) ) eq "$type") {
                    if( (substr "$tmp_", 0, 4) ne "http") {
                        print INFO "$tmp$tmp_\n";
                    } else {
                        print INFO "$tmp_\n";
                    }
                    $count_new_results++;
                }
            }
        }
    }
    print "New results found: " . $count_new_results . "\n\n";
    $depth += 10;
}
close(INFO);

print "\n\nFinish...\n";
print "The results was stored in $file.\n\n";
exit;
И во results.txt ќе ви бидат линковите од пребарувањето. :)
 
Еве неколку примери со Perl и од мене, а пред да се повикуваат програмите во Perl треба да се сменат пермисиите на датотеката, при што името на датотеката каде се наоѓа perl скриптата, треба да има екстензија .pl, а менувањето на пермисиите се врши со следнава наредба:
Код:
chmod 755 imedat.pl
Првиот пример е обработка на слики, а кодот е следниов:
Код:
#!/usr/local/bin/perl
#
# composite series of images over a background image
#

if ($#ARGV != 4) {
 print "usage: compem bg.rgb inbase outbase startNum stopNum\n";
 exit;
}

$bg = $ARGV[0];
$inbase = $ARGV[1];
$outbase = $ARGV[2];
$start = $ARGV[3];
$stop = $ARGV[4];

# for each image
for ($i=$start; $i <= $stop; $i++) {

    # pad numbers
    $num = $i;
    if($i<10) { $num = "00$i"; }
    elsif($i<100) { $num = "0$i"; }

    # call unix command "over"
    $cmd = "over $bg $inbase.$num $outbase.$num 0 0";
    print $cmd."\n";
    if(system($cmd)) { print "over failed\n"; }
}

Вториот пример е за преименување на датотеки:
Код:
#!/usr/local/bin/perl
#
# rename series of frames
#
if ($#ARGV != 3) {
    print "usage: rename old new start stop\n";
    exit;
}

$old = $ARGV[0];
$new = $ARGV[1];
$start = $ARGV[2];
$stop = $ARGV[3];

for ($i=$start; $i <= $stop; $i++) {

    $num = $i;
    if($i<10) {	$num = "00$i"; }
    elsif($i<100) { $num = "0$i"; }

    $cmd = "mv $old.$num $new.$num";
    print $cmd."\n";
    if(system($cmd)) { print "rename failed\n"; }
}

Третиот пример е конвертирање на датотеки од еден во друг формат:
Код:
#!/usr/local/bin/perl
#
# convert series of images from one format to another
#
if ($#ARGV != 5) {
    print "usage: fconvert intype outtype old new start stop\n";
    exit;
}

$intype = $ARGV[0];
$outtype = $ARGV[1];
$old = $ARGV[2];
$new = $ARGV[3];
$start = $ARGV[4];
$stop = $ARGV[5];

for ($i=$start; $i <= $stop; $i++) {

    $num = $i;
    if($i<10) {	$num = "00$i"; }
    elsif($i<100) { $num = "0$i"; }

    $cmd = "imgcvt -i $intype -o $outtype $old.$num $new.$num";
    print $cmd."\n";
    if(system($cmd)) { print "imgcvt failed\n"; }
}

И четвртиот пример е креирање на директориуми:
Код:
#!/usr/local/bin/perl
#
# create a series of directories
#
if ($#ARGV != 2) {
    print "usage: mkdirs base start stop\n";
    exit;
}

$base = $ARGV[0];
$start = $ARGV[1];
$stop = $ARGV[2];

for ($i=$start; $i <= $stop; $i++) {

    $num = $i;
    if($i<10) {	$num = "00$i"; }
    elsif($i<100) { $num = "0$i"; }

    $cmd = "mkdir $base$num";
    print $cmd."\n";
    if(system($cmd)) { print "mkdir failed\n"; }
}

Овие примери вршат некои основни и едноставни функции, сепак постојат многу посложени скрипти, кои важат само за windows или за linux, се надевам во некои од следните постови ќе постирам и такви скрипти.
 
Нема везе друже, како и да е ќе му се најдат на некој како за пример и така сега колку што знам на ФЕИТ се учи Perl по Системски софтвер, па не би било лошо да се споделат искуства, теорија, алгоритми и слично. :)
 

Kajgana Shop

Back
На врв Bottom