Home > Кодинг > perl обфускатор

perl обфускатор

October 12th, 2009 poma Leave a comment Go to comments

upd: обновив до версії 2.0
сьогодні написав “обфускатор”, який базується лише на одному алгоритму.. час від часу буду додавати в нього алгоритми )
http://nxadm.files.wordpress.com/2008/05/perl.jpg
для прикладу, запустіть у себе такий скрипт:

''=~('(?{'.('AC94AiUz29Y9oEd8AQ7vRY' ^ '11PZ5Iw2WU5VCe3W3=SWpb').'$/})');

в результаті побачите:
Hello, World!
як воно працює, і про сам обфускатор, читаємо далі..

працює все банально і просто..
простий xor і @re ‘eval’@ і більше нічого )

use re 'eval';
(??{system'id'})

але результат обфускації виглядає доволі страшно і запутано, і відлякує багатьох, шо нам і треба )
вже у найближчих днях я добавлю в нього побільше функціоналу..

скрипт після обфускації збільшує свій розмір ~200%

для прикладу, є скрипт:

--------------------------------
#!/bin/perl

use strict;
use warnings;

print txt2hex($ARGV[0]);

sub txt2hex {
	my $hex = unpack('H*', $_[0]);

	my $start = 0;

	my $return = "0x";
	while ($start < length($hex)) {
		$return .= substr($hex,$start,2);
		$start += 2;
	}
	return $return;
}
--------------------------------
--------------------------------
''=~('(?{'.('uxHU=7i=T=Zsm2F-M4-DT7EK81D2M-779Q4UFbny3DQZ2C-MIG24AiMlb4=jQenay76EWzG53yZW6rCepUKpC1U6OPTF9722-XSxitmWNk=IpDmXjacYJlcG9QE2tdPxHLLSLZ2TQEHI-9VPjPPHHwjFA9Q1UVQZO0CSJFvnAA14==1rc97-OlKMye0eJ=03=8gIhlFXPEA9dmE0Eer9YPD2JxZzpmMSJDS15aCVRJAOnK8EO0GFGZIl4XM1J=Yr9' ^ 'VYg7TYFM1O6ygG5HmGY6=T1p2D7WmZVEW8Z25YdsC684FcY5=uZQ9Ai-0sk1a8GZs=E05Z3MGK22NR8oy82PgY0Nomt3WGSQFpt0CSAwj4fy-mVRckj43LG4M07FTYpHsFEYE7Ktu7-=XK8pWprx0UQLHN9X93qrkC7282VRa-TZZIYZGQRUfEk6sl9A8XDFOVGgUL5-265KLI-U=IVJ-16FfJsAzdDw902CAAhkrxzEg62L=U3354iHF=9D8SbxD').'$/})');
--------------------------------

запускати так:
obf.pl < script> < pack> < password>
< script> - обовязково! це імя скрипту, над яким треба провести обфускацію
< pack > - використовувати ДВА алгоритмя для обфускації
< password > - пароль для обфускованого файлу (_obf.pl пароль - так його треба буде запускати)

Історія версій:
11.10.09: v1.0
реліз
12.10.09: v2.0
додав можливість задати пароль для обфускованого файлу
додав ще один алгоритм обфускації

обфускатор v1.0: http://uasc.org.ua/files/obf.pl.txt
обфускатор v2.0: http://uasc.org.ua/files/obf_v2.pl.txt

  1. October 12th, 2009 at 10:22 | #1

    завжди дивувася Перлу, на ньому код можна так запрограмувати, навіть без обдуфікації, що ніхто крім автора не зрозуміє, а можливо навіть автор не зрозуміє ;)

  2. October 12th, 2009 at 12:45 | #2

    presidentua > нє-нє, я зрозумію )
    а код можна запутати не тільки на перлі.. попробуєш шось подібне на пітоні реалізувати? japh

  3. October 12th, 2009 at 22:28 | #3

    @Самый лучший обфускатор кода — это студент первого курса@

  4. October 25th, 2009 at 16:22 | #4

    Дивно. Не можу запустити.
    obf_v2.pl test 1 ss – вірно ?
    Результату нема ???
    Допоможіть.

  5. October 25th, 2009 at 18:07 | #5

    ss: obf_v2.pl test.pl
    сьогодні \ завтра буде нова версія обфускатора, тому краще зачекай на нього ))

  1. No trackbacks yet.