![]() |
Раскодировка Perl-скриптов
меня уже два человека на этом форуме просили, чтоб я в подобростях рассказал, как можно раскодировать закодированный PERL-скрипт.. ок, опишу в мельчайших подробностях этот процесс (на примере DirectMailer)..
на самом деле, обычно раскодировка скриптов не представляет особой сложности.. достаточно иметь под рукой справочник по языку (если вы им не владеете), чтоб добраться до исходного кода.. итак, начнем.. : ) открыв файл dm.cgi, можно наблюдать примерно следущую картину: Код:
#!/usr/bin/perl1. объявляется переменная $vrm9Hox30068MVCy0 : Код:
my $vrm9Hox30068MVCy0;Код:
$vrm9Hox30068MVCy0.=$_ while(<DATA>)Код:
eval(unpack('u*',$vrm9Hox30068MVCy0));Код:
print(unpack('u*',$vrm9Hox30068MVCy0));Код:
perl dm.cgi > dm2.txtКод:
sub vSHmKML81 {my $vSHmKML81=<<'vSHmKML81';Код:
unpack('u*',&vSHmKML81)опять же, меняем eval на print, а вот вызываемую далее функцию _vm3jA0q6S02 закомментим, т.к. она содержится в покодированном куске скрипта: Код:
}print(unpack('u*',&vSHmKML81)); ## &_vm3jA0q6S02;Код:
perl dm2.txt > dm3.txtКод:
sub vm3jA0q6S02 {my $vm3jA0q6S02=<<'vm3jA0q6S02';Код:
} print(unpack('u*',&vm3jA0q6S02)); ## &_vYhyJlg5Ch3;аналогично в dm4.txt меняем Код:
}sub _vYhyJlg5Ch3 {eval(unpack('u*',&vYhyJlg5Ch3));}Код:
} print(unpack('u*',&vYhyJlg5Ch3));p.s. а вот на просьбы занулить этот скрипт и вопросы по поводу места, где там осуществляется проверка - отвечать не буду, ищите сами.. ; ) p.p.s. если у кого возникнут какие-нить проблемы с раскодировкой скриптов (перл, пхп [тока не зенд], итд) - можете задавать в этой теме вопросы, по мере возможостей постараюсь на них ответить.. p.p.p.s ссылки на directmailer можно найти в этой темке : http://forum.antichat.ru/thread49975.html |
Кажется я уже выкладывал dm расшифрованный...
При хотя-бы небольшом знании языка (всего 2 фукнции: eval, unpack) эта "зашита" снимается за минуту, код в чистом виде даже не обфусцирован =( Так что те, кто этого не сделал - просто поленились. |
| Время: 04:57 |