Hey,
Einige von euch werden vielleicht iSteamy kennen, ein iPhone-App um Porno-Videos und Bilder anzusehen.
Ich hab mir das gecracked besorgt (Hat aber eh nicht richtig funktioniert) und war irgendwie interressiert woher das App seine Daten bezieht, zumal es ja kostenpflichtig ist.
Daher hab ich mal ein kleines Skript erstellt mit dem es möglich ist die komplette Bilder-Datenbank des Anbeiter zu dumpen (Nach vorheriger Angabe der Kategorie).
Mir ging es um den Spaß das App zu untersuchen, nicht darum irgendwelche Pornos zu laden, aber wenn man schonmal dabei ist
Mein Perl-Stil reicht wahrscheinlich nicht an das mancher Member ran, aber was solls, hauptsache es funktioniert, das ist die Devise Wenn euch was größeres Auffällt am Skript was ich beheben soll dann postet das bitte, auch Verkürzungen (Wenns sich lohnt) würde ich gerne wissen.
Wie auch immer, hier das Skript.

Code:
#!/usr/local/bin/perl
# porndump.pl <> Written by Bonkers.
use IO::Socket;
use strict;
use warnings;
our $solution;
our $pages;
our $cato;
our $packet;
sub enumpages {
my $socket = new IO::Socket::INET (
             PeerAddr  => 'www.isteamy.net',
             PeerPort  => '80',
             Proto     => 'tcp',
             );
$packet = "GET /category2.php?catID=".$cato." HTTP/1.1\nHost: www.isteamy.net\nUser-Agent: iSteamy/3.2 CFNetwork/459 Darwin/10.0.0d3\nConnection: close\r\n\n";
print $socket $packet;
while(<$socket>)
{
$solution .= $_;
  if ($solution =~ /database/) {
          print "Database died... AGAIN!\n";
	  return 1; 
$pages = "";}
 }
my @splitto = split(/\n/, $solution);
$pages = $splitto[112];
$pages =~ s/\t<string>//;
$pages =~ s/<\/string>//;
return 0;
close($socket);
}
sub dumppage {
my $selec = shift;
my $socket = new IO::Socket::INET (
             PeerAddr  => 'www.isteamy.net',
             PeerPort  => '80',
             Proto     => 'tcp',
             );
$packet = "GET /category2.php?catID=".$cato."&page=".$selec." HTTP/1.1\nHost: www.isteamy.net\nUser-Agent: iSteamy/3.2 CFNetwork/459 Darwin/10.0.0d3\nConnection: close\r\n\n";
print $socket $packet;
while(<$socket>)
{
 	my $test = $_;
	if ($test =~ /<string><\!/ && $test =~ /\.jpg/) {
	$test =~ s/<string><\!\[CDATA\[//;
	$test =~ s/\]\]><\/string>//;
        print "Initiated Download of ".$test."\n";
	system('wget --user-agent="iSteamy/3.2 CFNetwork/459 Darwin/10.0.0d3" http://www.isteamy.net/Media/Pictures/'.$test);
}
if ($test =~ /database/) {
          return 1; }
}}
print ("Please select your Categorie! Just enter the Number of your desired Cat.");
print ("\n\n[56] Amateurs\n[36] Anal\n[41] Anime\n[2] Asian\n[3] Asses\n[4] BBW\n[5] BDSM\n[1] Blondes\n[33] BlowJobs\n[53] Body Art\n[6] Boobs\n[7] Brunettes\n[48] Calendars\n[54] Camel Toe\n[8] Celebs\n[29] Cleavage\n[34] Cocks\n[57] Comics\n[32] Couples\n[43] Drawings\n[9] Ebony\n[10] Fetish\n[11] Hairy\n[50] In] Public\n[12] Latina\n[13] Lesbian\n[14] Lingerie\n[15] Mature\n[51] Misc\n[28] Non-Nude\n[49] Old Fashion Panties\n[17] Orgy\n[42] Other\n[18] Panties\n[19] Pantyhose\n[20] Pregnant\n[30] Pussy\n[21] Redhead\n[31] Sexy\n[22] Shemale\n[23] Teens (18+ ONLY)\n[24] Uniforms\n[25] Unusual\n[58] Upskirt\n[26] Voyeur\n\n\n");
print "Your Selection: ";
$cato = <STDIN>;
$cato =~ s/\n//;
my $fff = 1;
while ($fff != 0) {
$solution = "";
$fff = enumpages();
}
print "Pages found: ".$pages."\n";
for (my $count = ($pages - 1); $count >= 1; $count--) {
print "#----------------------------------------NOW DUMPING PAGE ".$count."-----------------\n";
while (dumppage($count) != 0) {}
}