Показать сообщение отдельно

PERL Обфускатор
  #1  
Старый 12.10.2009, 17:53
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 2399


По умолчанию PERL Обфускатор

решил сделать свой обфускатор..

обфускатор базируется на следующих алгоритмах:
  • ф-ция pack:
    PHP код:
    $_ '6N2g8t0l4s2"0w5t4v2n4h7(';
     
    s/(.)(.)/pack('C',ord($2)-$1)/eg;
     print; 
  • ф-ция xor:
    PHP код:
    ''=~('(?{'.('uQ5QVznZX78YV' '=4Y=9VN-7ET=w').'$/})'); 
  • прагма re 'eval':
    PHP код:
    use re 'eval';
     (??{
    system'id'}); 
размер выходного скрипта - от 200% до 600% размера входящего..

пример роботы обфускатора:
  • на входе скрипт testScript0.pl:
    PHP код:
    use strict;
     use 
    warnings;
     
    my $testVariable 'antichat.Ru';
     print 
    $testVariable
  • obf.pl testScript0.pl
    PHP код:
    ;''=~('(?{'.('GC-W6AJT0Cad973I2U5WPY7NQIA74CEC520o5FT68Z5cxOI597TSUT=zjGNnLC9DSCUvLPF-33K09QURZ' '20HwE58=S7ZnLDViE4G997P=jCKZMca7PAD9T4=WZ6PCEonTWC=0=5IT82iUF3K-=7uR855YeR9YX397a').'$/})'); 
    запускаем скрипт: testScript0.pl
  • obf.pl testScript0.pl 1
    PHP код:
    0;$_='3>1(6-7D10(2)805D7é4+86803*5M5K2U4{6=5^1P2S0W7?1B2K390C0=1t85042H1.5_1Z0Z8S6`6?3g498V2j2T2N7:1B577v6]7;661Q5T3\230n6}4w4Y4U0W2385006>2N016]2q7L84V6h7L3H6Z3<7>3j5P3P4Z06181:4<1K7X0T1P4\4Z2u1(7\'3a3#3*5B49173Z7K0-3@6>157S4~6I8K778`0S7a2W262E587>5B6>5f254r2Z3:5M0v6>1W8:0F5>8>0F6_01415:5Y0N5O0S7y445>5J5I1T1Q527L5~3@110P7p4l49074A5\6I8O3r3<8;4I6I6u4]087?2763268;3K4+5.200\'5)764ü704+811<';0;s/(.)(.)/pack('C',ord($2)-$1)/eg;0;eval;0
    запускаем скрипт: testScript0.pl
  • obf.pl testScript0.pl 1 abc
    PHP код:
    0;$_='1%2a3@4w0h6o7m4x0;7n0o8|7v2"7P3L1j896o4m8Q0 8q2h6&556C0=1)0$8g0 6k1r8/6g4f4g0\'5.6A7B3*0\'5B4‚2*1(3+8G0{3*75803*6G680H1f4O691D45283I3Z6h7T35235W197S671:3\6\468L3Z2H5=5^4M5Y4P46062F5N7:8_0F3G394274=153W5R6P0R470W6>2F8;2G8`4A8o4i6L7V2X137N0=4T85245\0T7P0T3N4H3q8`197W3O776Z383L3*3,1/3*7+653Ђ3,0\'703>0e8Ђ6o2v3+880)8C6O5N6o781j2k2K2<2r1s3l2p7{8(4(335@';0;s/(.)(.)/pack('C',ord($2)-$1)/eg;0;eval;0
    запускаем скрипт: testScript0.pl - видем ошибку, т.к. не указали пароль "abc"
    запускаем скрипт: testScript0.pl bla - видем ошибку, т.к. пароль не "bla", а "abc"
    запускаем скрипт: testScript0.pl abc - видем результат роботы скрипт, т.е. пароль верный!

тема: http://uasc.org.ua/2009/10/perl-obf/
обфускатор v1.0: http://uasc.org.ua/files/obf.pl.txt
обфускатор v2.0: http://uasc.org.ua/files/obf_v2.pl.txt
 
Ответить с цитированием