» Общий Форум » open-source
Автор | Тема: open-source | MrBananas
|
так
Сейчас у меня доступны только десертные проги и ставщик |
| MrBananas
|
Модули:
-cb.pm
-general.pm
-desert.pm |
| MrBananas
|
cb.pm
package CB;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(MyLevel BattleLink);
sub MyLevel
{#ТБВПФБЕФ ПФ pers.php
@mas=@_;
$tisk="<td valign=\"middle\" bgcolor=\"#ffffee\"
align=\"left\">\.Боевой\.</td>";
$tisk2="<td valign=\"middle\" bgcolor=\"#ffffee\"
align=\"left\">(\.[^\(]*)\.(\.[^\)]*)\.<br>";
$marker=0;
foreach my $isk (@mas)
{
if ($marker==1){while ($isk=~/$tisk2/g){$mylvl=$1; $marker=0;}}
while ($isk=~/$tisk/g){$marker=1;}
}
return $mylvl
}
sub BattleLink
{$mylvl=pop(@_);
@req=@_;
$lvli="<td bgcolor=\"#eeee\.\.\"
align=\"center\"><nobr>(\.[^<]*)</nobr><br>"; $lvlc=0;
$stri="<td align=\"center\" bgcolor=\"#eeee\.\.\"><nobr><b><font
color='ee0000'>(\.[^<]*)</font></b>\.(\.[^\)]*)\. х <b><font
color='0000ee'>(\.[^<]*)</font></b>\.(\.[^\)]*)\.</nobr><br>"; $strc=0;
$gbai="<a
href=\"g_btl_2.php\.req=1&side=\(.)&id=(\.[^\"]*)\">";
$idc=0;
foreach my $isk (@req)
{
while ($isk=~/$stri/g){$pll[$strc]=$1; $mxl[$strc]=$2; $plr[$strc]=$3;
$mxr[$strc]=$4; $strc++;}
while ($isk=~/$lvli/g){$lvl[$lvlc]=$1; $lvlc++;}
while ($isk=~/$gbai/g){
if($id[$idc-1]==$2)
{
$idc--;
$side[$idc]=3;
}
else
{
$side[$idc]=$1;
$id[$idc]=$2;
}
$idc++;
}
}
$k=0;
foreach my $isk (@lvl)
{($leftlvl[$k],$rightlvl[$k])=split(/\| /,$isk);
($leftlvlmin[$k],$leftlvlmax[$k])=split(/\ - /,$leftlvl[$k]);
($rightlvlmin[$k],$rightlvlmax[$k])=split(/\ - /,$leftlvl[$k]);
$leftlvlmax[$k]=~ s/ //g;
$rightlvlmax[$k]=~ s/ //g;
$k++;
}
$mylevel="0"; $deltamax="2"; $deltamin="1"; $filterc=0;
foreach my $isk (@id)
{
if
((($mylevel-$leftlvlmin[$filterc])<=$deltamin)&&(($leftlvlmax[$filterc]-$mylevel
)<=$deltamax)&&(($mylevel-$rightlvlmin[$filterc])<=$deltamin)&&(($rightlvlmax[$f
ilterc]-$mylevel)<=$deltamax))
{
$whiteid[$okc]=$id[$filterc];
$whiteside[$okc]=$side[$filterc];
$okc++;
}
$filterc++;
}
$fcoef=int(rand($#whiteid+1));
$xtside=$whiteside[$fcoef]; $xid=$whiteid[$fcoef];
if ($xtside eq 3)
{$xside=int(rand(2))+1;}
else
{$xside=$xtside;}
$golink="http://desert.com.ru/g_btl_2.php?req=1&side=$xside&id=$xid";
return $golink;
} |
| MrBananas
|
desert.pm
package Desert;
use LWP::UserAgent;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(NeedSleep InBattle CheckProxy DieMe AliveMe KillSelf Guns Auth
ALRun);
sub NeedSleep
{@file=@_;
$slkoef=630;
$tis="(\.[^/]*) / (\.[^/]*)";
$i=0;
$strmask="HP \.$tis\.\">Персонаж</a>";
foreach my $tp (@file)
{
while ($tp=~/$strmask/g){$curh=$1; $maxh=$2;}
}
if ($maxh>0) {$slp=int((($maxh-$curh)/$maxh)*$slkoef);}
return $slp;
}
sub InBattle
{@livma=@_;
$dead=1;
$strmask="<a href=\"map.php\">Карта</a>";
foreach my $isk (@livma)
{
while ($isk=~/$strmask/g){$dead=0;}
}
return $dead;
}
sub CheckProxy
{$proxyd=$_[0];
$result=0;
$ua = LWP::UserAgent->new;
$ua -> timeout(6);
$ua->proxy(['http', 'ftp'] => "http://$proxyd");
$res = $ua->request(HTTP::Request->new(GET => "http://desert.com.ru"));
@req=$res->content;
$strmask="<title>Проклятая пустыня \.Проклятая Пустыня\.</title>";
foreach my $isk (@req)
{
while($isk=~/$strmask/g){$result=1;}
}
return $result;
}
sub DieMe
{$name=$_[0];
$st=''; $marker='';
open(FILE,"./sessions.dat");
@result=<FILE>;
close(FILE);
for($i=0;$i<=$#result;$i++)
{
while ($result[$i]=~/$name/ig){($nm,$st)=split(/\|/,$result[$i]);
chomp($st); $marker=$i;}
}
if ($st==2)
{$result[$marker]="$name|0";
open(FILE,">./sessions.dat");
for ($i=0;$i<=$#result;$i++)
{chomp($result[$i]);
if ($i==$#result){$pb="";}
else{$pb="\n";}
print FILE "$result[$i]$pb";
}
close(FILE);
die"System call to die";
}
}
sub AliveMe
{
$name=$_[0];
$marker='';
open(FILE,"./sessions.dat");
@result=<FILE>;
close(FILE);
for($i=0;$i<=$#result;$i++)
{
while ($result[$i]=~/$name/ig){$marker=$i;}
}
if ($marker ne '')
{
$result[$marker]="$name|1";
open(FILE,">./sessions.dat");
for ($i=0;$i<=$#result;$i++)
{chomp($result[$i]);
if ($i==$#result){$pr="";}
else {$pr="\n";}
print FILE "$result[$i]$pr";
}
close(FILE);
}
else
{
$rz="$name|1";
push(@result, $rz);
open(FILE,">./sessions.dat");
for ($i=0;$i<=$#result;$i++)
{chomp($result[$i]);
if ($i==$#result){$pr="";}
else {$pr="\n";}
print FILE "$result[$i]$pr";
}
close(FILE);
}
}
sub KillSelf
{
$name=$_[0];
open(FILE,"./sessions.dat");
@result=<FILE>;
close(FILE);
for($i=0;$i<=$#result;$i++)
{
while ($result[$i]=~/$name/ig){($nm,$st)=split(/\|/,$isk); chomp($st);
$mar=$i;}
}
$result[$mar]="$name|0";
open(FILE,">./sessions.dat");
for ($i=0;$i<=$#result;$i++)
{chomp($result[$i]);
if ($i==$#result){$pr="";}
else {$pr="\n";}
print FILE "$result[$i]$pr";
}
close(FILE);
}
sub Guns
{@mas=@_;
$a=0; $i=0;
$tisk="name=\"atak\"";
$tisk2="name=\"atak_2\"";
foreach my $isk (@mas)
{
if ($a==0){while ($isk=~/$tisk/g){$a=1; $i++;}}
if ($a==1){while ($isk=~/$tisk2/g){$a=2; $i++;}}
}
return $i;
}
sub Auth
{@mas=@_;
$tisk="неверная пара логин";
foreach my $isk (@mas)
{
while($isk=~/$tisk/g){die""}
}
}
sub ALRun
{
$name=$_[0];
open(FILE,"./sessions.dat");
@result=<FILE>;
close(FILE);
for($i=0;$i<=$#result;$i++)
{
while ($result[$i]=~/$name/ig){($nm,$st)=split(/\|/,$result[$i]);
chomp($st);}
}
if (($st==2)||($st==1))
{$ret=1;}
else {$ret=0;}
return $ret;
} |
| MrBananas
|
general.pm
package General;
use LWP::UserAgent;
use HTTP::Cookies;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(NeedSleep InBattle CheckProxy DieMe AliveMe KillSelf PrPas);
sub NeedSleep
{@file=@_;
$slkoef=610;
$tis="(\.[^/]*) / (\.[^/]*)";
$i=0;
$strmask="HP \.$tis\.\">Персонаж</a>";
foreach my $tp (@file)
{
while ($tp=~/$strmask/g){$curh=$1; $maxh=$2;}
}
if ($maxh>0) {$slp=int((($maxh-$curh)/$maxh)*$slkoef);}
return $slp;
}
sub InBattle
{@livma=@_;
$dead=1;
$strmask="<a href=\"map.php\">Карта</a>";
foreach my $isk (@livma)
{
while ($isk=~/$strmask/g){$dead=0;}
}
return $dead;
}
sub CheckProxy
{$proxyd=$_[0];
$result=0;
$ua = LWP::UserAgent->new;
$ua -> timeout(6);
$ua->proxy(['http', 'ftp'] => "http://$proxyd");
$res = $ua->request(HTTP::Request->new(GET => "http://desert.com.ru"));
@req=$res->content;
$strmask="<title>Проклятая пустыня \.Проклятая Пустыня\.</title>";
foreach my $isk (@req)
{
while($isk=~/$strmask/g){$result=1;}
}
return $result;
}
sub DieMe
{$name=$_[0];
open(FILE,"./sessions/$name.bot");
$result=<FILE>;
close(FILE);
if ($result eq 0){unlink"./sessions/$name.bot"; die"";}
}
sub AliveMe
{$name=$_[0];
open(FILE,">./sessions/$name.bot");
print FILE "1";
close(FILE);
}
sub KillSelf
{$name=$_[0];
unlink"./sessions/$name.bot";
}
sub PrPas
{$name=$_[0];
$passw=$_[1];
$marker=0;
$url="http://desert.com.ru/login.php?f_login=$name&f_pass=$passw";
$testl=LWP::UserAgent->new;
$testl->cookie_jar(HTTP::Cookies->new(file=>"test", autosave=>0));
$testzap=$testl->request(HTTP::Request->new(GET => "$url"));
@testresp=$testzap->content;
$tisk="pers.php";
foreach my $isk (@testresp)
{
if ($isk=~/$tisk/g){$marker=1;}
}
$url="http://desert.com.ru/logout.php";
$testzap=$testl->request(HTTP::Request->new(GET => "$url"));
return $marker;
} |
| MrBananas
|
исполняемые файлы...
тут надо несколько комментариев |
| MrBananas
|
autho.cgi - бот-деньгодел для пустыни
view.cgi - просмотрщик данных и стопер для этого бота
cgb.cgi - бот-челоубийца для пустыни |
| MrBananas
|
#!/usr/bin/perl
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Cookies;
require "./lib/desert.pm";
$co=new CGI;
$errorcode=0;
print"Content-type: text/html\n\n";
########################################################################
$f_name=$co->param('f_name');
$f_pass=$co->param('f_pass');
$kboy=$co->param('kboy');
$useprx=$co->param('useprx');
$proxyadress=$co->param('adress');
$proxyport=$co->param('port');
$guns=$co->param('guns');
$datases=''; $gunserror=0;
if (($f_name eq '') || ($f_pass eq '') || ($kboy eq '') || ($guns eq
'')){$errorcode=1; $mar=1;}
if ($useprx==1)
{if (($proxyadress eq '') || ($proxyport eq '')){$errorcode=2;}
}
$kboyc=$kboy;
if (($guns ne '1') && ($guns ne '2')){$gunserror=1;}
if (($kboy<=10) && ($kboy>=0)){$kboym='OK';}
if ($kboym ne 'OK'){$kboy=10;}
if (($errorcode==0) && ($useprx==1))
{$proxydata="$proxyadress".":"."$proxyport";
$prc=Desert::CheckProxy($proxydata);
if ($prc==0){$errorcode=4;}
}
if (($mar==1)&&($errorcode==2)){$errorcode=3; $mar='';}
#Проверка пользователя на возможность запуска
if ($errorcode==0)
{$datases=Desert::ALRun($f_name);
if ($datases eq '0'){$usercode=3;}
else{$usercode=5;}
if ($usercode==3)
{$okmarker=1;
open(FILE,"users");
@users=<FILE>;
close(FILE);
for ($i=0;$i<=$#users;$i++)
{$isk=$users[$i];
chomp($isk);
my ($cu,$cb)=split(/\|/,$isk);
while ($cu=~/$f_name/ig){
if (($cb<50) || ($cb>=500))
{$usercode=0;
if ($cb<499)
{
if ((50-$cb)<10)
{$kboy=50-$cb;}
}
else
{
$kboy=$kboyc;
}
$cb=($cb+$kboy);
$users[$i]="$cu|$cb";
}
else {$usercode=1;}
}
}
}
if ($usercode==3)
{push(@users, "$f_name|$kboy");
$usercode=0;
$okmarker=1;
}
if ($okmarker==1)
{
open(FILE,">users");
for ($i=0;$i<=$#users;$i++)
{chomp($users[$i]);
print FILE "$users[$i]\n";
}
close(FILE);
}
}
if (($errorcode==0)&&($usercode==0)&&($gunserror==0)){
Desert::AliveMe($f_name);
################################################################################
##########
$ua = LWP::UserAgent->new;
$ua -> timeout(10);
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)");
if ($useprx==1){$ua->proxy(['http', 'ftp'] => "http://$proxydata");}
$ua->cookie_jar(HTTP::Cookies->new(file => "./cookies/$f_name.cok",
autosave => 1));
$res = $ua->request(HTTP::Request->new(GET => "http://ipid.shat.net/"));
@req = $res->content;
################################################################################
##########
$res = $ua->post("http://desert.com.ru/login.php",
[
f_login=>$f_name,
f_pass=>$f_pass
],);
@req = $res->content;
Desert::Auth(@req);
$kboys=$kboy-1;
for ($b=0;$b<=$kboys;$b++)
{$res = $ua->request(HTTP::Request->new(GET =>
"http://desert.com.ru/pers.php"));
@req = $res->content;
Desert::DieMe($f_name);
$sleep=Desert::NeedSleep(@req);
$slp=$sleep/10;
for ($i=0;$i<=10;$i++)
{
sleep($slp);
Desert::DieMe($f_name);
}
$res = $ua->request(HTTP::Request->new(GET =>
"http://desert.com.ru/bot.php?act=enter"));
@req = $res->content;
for ($i=0;$i<=30;$i++)
{
$atak=4;
$atak_2=4;
$def=4;
if ($atak==4){$atak=(int(rand(3))+1);}
if ($atak_2==4){$atak_2=(int(rand(3))+1);}
if ($def==4) {$def=(int(rand(3))+1);}
$slpa=(int(rand(3)+2));
sleep($slpa);
if ($guns eq '2')
{
$res = $ua->post("http://desert.com.ru/bot.php",
[
atak=>$atak,
atak_2=>$atak_2,
def=>$def
],);
}
else
{
$res = $ua->post("http://desert.com.ru/bot.php",
[
atak=>$atak,
def=>$def
],);
}
}
@req=$res->content;
$dead=Desert::InBattle(@req);
if ($dead==0){$i=81;}
Desert::DieMe($f_name);
}
print"Задание выполнено";
Desert::KillSelf($f_name);
$res = $ua->request(HTTP::Request->new(GET =>
"http://desert.com.ru/logout.php"));
}
else{
print"<html><head><title>Ошибка!</title></head><body
bgcolor=\"coral\">";
if ($errorcode==1){print"Введены не все критичные данные! (логин, пароль,
количество боёв)";}
if ($errorcode==2){print"Введены не все данные для использования прокси!";}
if ($errorcode==3){print"А смысл был это отправлять? ;)";}
if ($errorcode==4){print"Прокси оказался некачественным :( Давайте ещё
разок";}
if ($usercode==1) {print"Ваша лицензия истекла. Обращайтесь: 314-134-794";}
if ($usercode==5) {print"Бот уже запущен. От того, что вы его запустите ещё
раз лучше не станет. Гарантирую.";}
if ($errorcode==7){print"Вот только хачить меня не надо!";}
print"</body></html>";
} |
| MrBananas
|
view.cgi
#!/usr/bin/perl
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use Digest::MD5 qw(md5 md5_hex md5_base64);
$co=new CGI;
$password=$co->param('seccode');
$stuser=$co->param('stuser');
$ctx = Digest::MD5->new;
$ctx->add($password);
$passc=$ctx->hexdigest;
if ($passc ne "60c633d8ccdcad7e81e6ff552f6a165a"){die"Bad key!";}
open(FILE,"users");
@umas=<FILE>;
close(FILE);
if ($stuser ne '')
{
if ($stuser==-1)
{
open(FILE,"./sessions.dat");
@result=<FILE>;
close(FILE);
for ($i=0;$i<=$#result;$i++)
{($usr,$st)=split(/\|/,$result[$i]);
$result[$i]="$usr|2";
}
open(FILE,">./sessions.dat");
for ($i=0;$i<=$#result;$i++)
{chomp($result[$i]);
if ($i==$#result){$pb="";}
else{$pb="\n"}
print FILE "$result[$i]$pb";
}
close(FILE);
}
else
{open(FILE,"./sessions.dat");
@result=<FILE>;
close(FILE);
($usr,$st)=split(/\|/,$result[$stuser]);
$result[$stuser]="$usr|2";
open(FILE,">./sessions.dat");
for ($i=0;$i<=$#result;$i++)
{chomp($result[$i]);
if ($i==$#result){$pb="";}
else{$pb="\n"}
print FILE "$result[$i]$pb";}
close(FILE);
}
}
open(FILE,"./sessions.dat");
@statuses=<FILE>;
close(FILE);
for ($i=0;$i<=$#statuses;$i++)
{($nma[$i],$statusa[$i])=split(/\|/,$statuses[$i]);
chomp($statusa[$i]);
if ($statusa[$i] eq 1){$statusa[$i]="<font color=green>Running</font>";}
else{if ($statusa[$i] eq 0){$statusa[$i]="<font
color=red>Stopped</font>";}
else{if($statusa[$i] eq 2){$statusa[$i]="<font color=blue>Going to
stop</font>";}
else{$statusa[$i]="<font color=magenta>Unknown</font>";}
}
}
}
print"Content-type: text/html\n\n";
print"<html>
<head>
<title>
List of users
</title>
</head>
<body bgcolor=seashell>
<table height=0 width=100%>
<tr><td bgcolor=black></td>
</table>";
print"
<b>List of users:</b>
<form name=refresh action=./view.cgi method=POST>\n";
for ($i=0;$i<=$#statuses;$i++){ print"<input type=radio name=stuser
value=$i>$nma[$i] ($statusa[$i])<br>\n";}
print"<input type=radio name=stuser value=-1> ALL<br>";
print"<hr>
<input type=hidden name=seccode value=$password>
<input type=submit name=refreshsub value='Button' style=width:80>
</form><br><hr><b>Runs:</b><br>";
for($i=0;$i<=$#umas;$i++)
{
($nm[$i],$rn[$i])=split(/\|/,$umas[$i]);
if ($rn[$i]<500)
{
if($rn[$i]==50){$rn[$i]="<font color=red>$rn[$i]</font>";}
else{$rn[$i]="<font color=magenta>$rn[$i]</font>";}
}
else{$rn[$i]="<font color=green>$rn[$i]</font>";}
print"$nm[$i] - $rn[$i]<br>";
}
print"
</body>
</html>
"; |
| MrBananas
|
chb.cgi
#!/usr/bin/perl
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use Digest::MD5 qw(md5 md5_hex md5_base64);
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Cookies;
require "./lib/general.pm";
require "./lib/cb.pm";
# пВЯСЧМЕОЙЕ ЖХОЛГЙК
sub Zapros
{$url=$_[0];
$res = $ua->request(HTTP::Request->new(GET => "$url"));
@req = $res->content;
return @req;
}
sub Auth
{$url = "http://desert.com.ru/login.php?f_login=$name&f_pass=$pass";
$res = $ua->request(HTTP::Request->new(GET => "$url"));
@req = $res->content;
return @req;
}
sub Logout
{$url = "http://desert.com.ru/logout.php";
$res = $ua->request(HTTP::Request->new(GET => "$url"));
@req = $res->content;
}
# дЕМБЕН "ОБМЙЮЙЕ ПФЧЕФБ"
print"Content-type: text/html\n\n";
# пВЯСЧМЕОЙЕ ЛТЙФЙЮОЩИ РЕТЕНЕООЩИ
$co=new CGI;
# рПМХЮЕОЙЕ ДБООЩИ
$name=$co->param('name');
$passw=$co->param('passw');
$seccode=$co->param('seccode');
$kboy=$co->param('kboy');
$guns=$co->param('guns');
$useprx=$co->param('useprx');
$prdata=$co->param('prdata');
#ыЙЖТПЧЛБ ОЕЛПФПТЩИ ДБООЩИ
$ctx = Digest::MD5->new;
$ctx->add($seccode);
$seccodec = $ctx->hexdigest;
if ($seccodec eq 'b8641287bcaf704efaaa6a226ab88131')
{
#рТПЧЕТЛБ Й ПВТБВПФЛБ ДБООЩИ
if (($name eq '') || ($passw eq '') || ($kboy eq '') || ($guns eq
'')){$errorcode='Cel';}
if (($useprx==1)&&($prdata eq '')){$proxycode='Cel';}
if (($guns ne 1) && ($guns ne 2)){$gunscode='Cel';}
if (($errorcode ne 'Cel')&&($proxycode ne 'Cel')&&($gunscode ne 'Cel'))
{#рТПЧЕТСЕН ЛПТТЕЛФОПУФШ МПЗЙОБ\РБТПМС Й РТПЛУЙ
$logincorrect=General::PrPas($name,$passw);
if ($useprx==1){$proxycorrect=General::CheckProxy($prdata);}
if ($logincorrect==1)
{#лПТТЕЛФОПУФШ МПЗЙОБ\РБТПМС
if ((($useprx==1)&&($proxycorrect==1))||($useprx==''))
{#лПТТЕЛФОПУФШ РТПЛУЙ
General::AliveMe($name);
#уПЪДБОЙЕ ВТПХЪЕТБ
$ua=LWP::UserAgent->new;
$ua->timeout(6);
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
Maxthon)");
$ua->cookie_jar(HTTP::Cookies->new(file=>"./cookies/$name.com",
autosave=>1));
if ($useprx==1){$ua->proxy(['http', 'ftp'] => "http://$prdata");}
#оБЮБМП ПУОПЧОПЗП ГЙЛМБ
for ($mainsc=0;$mainsc<=$kboy;$mainsc++)
{#зМБЧОЩК УЮЈФЮЙЛ
@req=Auth;
if ($mainsc==0)
{$slp=General::NeedSleep(@req);
$slpt=$slp/10;
for ($i=0;$i<=9;$i++)
{
General::DieMe($name);
sleep($slpt);
}
}
General::DieMe($name);
#чИПД Ч ВПК
@pers=Zapros('http://desert.com.ru/pers.php');
@bat=Zapros('http://desert.com.ru/g_btl_2.php');
$mylvl=CB::MyLevel(@pers); push(@bat, $mylvl);
$link=CB::BattleLink(@bat);
$res = $ua->request(HTTP::Request->new(GET => "$link"));
@req = $res->content;
#пЦЙДБОЙЕ ОБЮБМБ ВПС
for ($i=0;$i<=20;$i++)
{$i=0;
General::DieMe($name);
sleep(40);
@req=Zapros('http://desert.com.ru/g_btl.php');
$tisk="Начался бой!";
foreach my $isk (@req)
{
while ($isk=~/$tisk/g){$i=50;}
}
}
#рТПЧЕДЕОЙЕ ВПС
for ($i=0;$i<=60;$i++)
{$i=0;
$atak=int(rand(3))+1;
$atak_2=int(rand(3))+1;
$def=int(rand(3))+1;
$hidden="<input type=\"hidden\" name=\"rand\"
value=\"(\.[^\"]*)\"";
$option="<option selected value = '(\.[^']*)'";
$form="<form method=\"post\" action=\"(\.[^\"]*)\"";
$k=0;
foreach my $isk (@req)
{
while ($isk=~/$hidden/g){$rand=$1;}
while ($isk=~/$option/g){$shot[$k]=$1; $k++;}
while ($isk=~/$form/g){$action=$1;}
}
$z=int(rand($k));
$refreshlink="http://desert.com.ru/$action";
if ($shot[$z] ne '')
{
if ($guns==2)
{$finallink="http://desert.com.ru/$action?atak=$atak&atak_2=$atak_2&def=$def&sh
ot=$shot[$z]&rand=$rand";}
else
{$finallink="http://desert.com.ru/$action?atak=$atak&def=$def&shot=$shot[$z]&ra
nd=$rand";}
@req=Zapros($finallink);
}
else {@req=Zapros($refreshlink);}
$dead=General::InBattle(@req);
if ($dead==0){$i=101;}
General::DieMe($name);
}
#чПУУФБОПЧМЕОЙЕ ир
@req=Zapros('http://desert.com.ru/pers.php');
Logout;
$slp=General::NeedSleep(@req);
$slpt=$slp/10;
for ($i=0;$i<=9;$i++)
{
General::DieMe($name);
sleep($slpt);
}
}#зМБЧОЩК УЮЈФЮЙЛ
General::KillSelf($name);
}#лПТТЕЛФОПУФШ РТПЛУЙ
else
{
print"рТПЛУЙЛ ПЛБЪБМУС ОЕЛБЮЕУФЧЕООЩН. рПРТПВХКФЕ ДТХЗПК.";
}
}#лПТТЕЛФОПУФШ МПЗЙОБ\РБТПМС
else
{
print"оЕЛПТТЕЛФОБС РБТБ МПЗЙО\РБТПМШ";
}
}
else
{
if ($errorcode eq 'Cel'){print"рПМХЮЕОЩ ОЕ ЧУЕ ЛТЙФЙЮОЩЕ ДБООЩЕ";}
if ($proxycode eq 'Cel'){print"рЕТЕДБОЩ ОЕ ЧУЕ ДБООЩЕ ДМС РТПЛУЙ";}
if ($gunscode eq 'Cel'){print"рЕТЕДБОЩ ОЕЛПТТЕЛФОЩЕ ДБООЩЕ ДМС ПТХЦЙС";}
}
}
else
{
print"Bad seccode!!!";
} |
| Marinas
|
%)
Авто-логин, юзайте:
for k := 0 to WebBrowser1.OleObject.Document.All.Length - 1 do
begin
if (Pos('Эта страница требует авторизации',
WebBrowser1.OleObject.Document.All.Item(k).InnerText)<>0)then
begin
for I := 0 to WebBrowser1.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser1.OleObject.Document.forms.Item(I);
for j := 0 to 1 do
begin
try
s:= FormItem.Item(j).Name;
if (s='login') then
begin
FormItem.Item(j).Value := edit2.Text;
end;
if (s='pass') then
begin
FormItem.Item(j).Value := edit3.Text;
end;
except
Exit;
end;
end;
end;
for j:=0 to WebBrowser1.OleObject.Document.forms.Length - 1 do
begin
ovElements := WebBrowser1.OleObject.Document.forms.item(j).elements;
for i := 0 to (ovElements.Length - 1) do
begin
s:=ovElements.item(i).value;
if s='Войти' then begin clearcook;ovElements.item(i).Click;clearcook;exit
end;
end;
end; |
| MrBananas
|
ну.
кто ещё что-нить покажет? |
| Marinas
|
28-30, лажёвый код, в ганже такое сразу поймают |
| MrBananas
|
33, в гв поймают =)
Так то десерт =)
С ГВ сложнее.
Она смотрит по ссылкам... Соответсно, ещё и форморез там есть.
Но он дома |
| Di0med
|
33
ну человек вроде не претендует на лидерство в написании кода :) |
| MrBananas
|
35, для того опенсорс и есть.
Чтобы все работали вместе...
В ГВ моего мультика не ловили... Как факт |
| Егорка2
|
36. мало значит твой мультик на боте сидел. или просто делал вид что на боте ) |
| MrBananas
|
37, ну... не знаю.
все ловушки Ильи достаточно прозрачные. Я, например, писал такую схему,
которую не мог заломать ничем. Хотя старался... межсайтовый скриптинг
использовал. Правда опасно это достаточно, но когда несколько серверов, то всё
не так страшно как кажется. |
| MrBananas
|
десертного бота я написал за два часа. Со всеми прибамбасами. Потом мне его не
хотелось отлаживать... Вот он в таком виде и лежит. +я с июня ничего серьёзного
не писал. |
| MrBananas
|
Ну и?
На этом поток опен-сорсников и линуксоидов утих?
2 ченловека на всю ГВ????? |
|
К списку тем
|