Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
помогите плиз разобраться с алгоритмом кодирования (Perl) |

10.12.2009, 19:46
|
|
Познающий
Регистрация: 17.02.2005
Сообщений: 39
Провел на форуме: 127284
Репутация:
1
|
|
помогите плиз разобраться с алгоритмом кодирования (Perl)
Вообщем сабж.
кто хорошо разбирается в Perl помогите плиз
Вообщем этот скрипт кодирует все файлы находящиеся в директории files и записывает в файл my.bin
Его можно раскодировать только если знаешь key
Вообщем вопрос такой. Можно как-то подобрать этот key? Помогите плиз, надо очень один файлик раскриптовать. Спасибо
Код:
#!/usr/bin/perl
sub Encode{
$m=0;
while (substr($ekey,$m*6,6) ne "") {
$eo=int(substr($ekey,$m*6,3));
$ea=int(substr($ekey,$m*6+3,3));
&EncodePass;
$m++;
}
}
sub EncodePass {
$o=$eo;
$ninput=length($data);
for ($i=0;$i<=$ninput-$o-1;$i++) {
$char1=substr($data,$i,1);
$char2=substr($data,$i+$o,1);
$nchar=ord($char2);
if ($ea>255){$ea=0;}
$nchar=$nchar+$ea;
if ($nchar>255){$nchar=$nchar-256;}
$char2=chr($nchar);
$ea++;
substr($data,$i,1)=$char2;
substr($data,$i+$o,1)=$char1;
$o++;
}
$o--;
$ea--;
$keyn=sprintf("%.3u"."%.3u"."%.6u"."%.6u",$eo,$ea,$i,$o);
$key="$keyn"."$key";
}
sub EncodeBin {
chomp(@files=`ls files`);
foreach $file(@files) {
$infile=`cat files/$file`;
$data="$data$infile"."\n<--SPLIT HERE-->\n";
}
&Encode;
open (ENCODED,">my.bin");
print ENCODED "$data";
close (ENCODED);
}
sub Decode {
$e=`type my.bin`;
$m=0;
while (substr($key,$m*18,18) ne "") {
$b=substr($key,$m*18,3);
$a=substr($key,$m*18+3,3);
$i=substr($key,$m*18+6,6);
$d=substr($key,$m*18+12,6);
&D;
$m++;
}
(@file) = split /<--SPLIT HERE-->\n/,$e;
open (TXT,">c.c");
print TXT "$file[0]";
close (TXT);
}
sub D {
for ($j=$d;$j>=$b;$j--) {
$i--;
$g=substr($e,$i+$j,1);
$f=ord(substr($e,$i,1))-$a;
if ($f<0){$f=$f+256;}
substr($e,$i,1)=$g;
substr($e,$i+$j,1)=chr($f);
$a--;
if ($a<0){$a=255;}
}
}
print "Enter ekey (example: 001211): ";
chomp($ekey=<STDIN>);
print "Encode key $ekey \n";
&EncodeBin;
print "Decode key $key \n";
&Decode;
|
|
|

10.12.2009, 23:48
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Никудышный алгоритм =(
|
|
|

11.12.2009, 12:06
|
|
Познающий
Регистрация: 17.02.2005
Сообщений: 39
Провел на форуме: 127284
Репутация:
1
|
|
Сообщение от astrologer
Никудышный алгоритм =(
Чем он плох? Есть возможность подобрать ключ?
|
|
|

12.12.2009, 20:37
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от Zazil
Чем он плох?
Ненадёжный, наверное?
Сообщение от Zazil
Есть возможность подобрать ключ?
Да.
|
|
|

14.12.2009, 16:03
|
|
Познающий
Регистрация: 17.02.2005
Сообщений: 39
Провел на форуме: 127284
Репутация:
1
|
|
Сообщение от astrologer
Ненадёжный, наверное? Да.
Не поможешь с подборкой ключа?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|