Graži Perlo programėlė
Kas čia vis sako, kad Perlo programos neįskaitomos dėl to kad pilna
visokių @$%&*;
? Pasirodo, kad galima rašyti ir labai
švarias ir tvarkingas Pelro programas – Perlmonksuose blockhead parašė
vieną geresnių
„obfuscated“ programėlių:
#!/usr/bin/perl
not exp log srand xor s qq qx xor
s x x length uc ord and print chr
ord for qw q join use sub tied qx
xor eval xor print qq q q xor int
eval lc q m cos and print chr ord
for qw y abs ne open tied hex exp
ref y m xor scalar srand print qq
q q xor int eval lc qq y sqrt cos
and print chr ord for qw x printf
each return local x y or print qq
s s and eval q s undef or oct xor
time xor ref print chr int ord lc
foreach qw y hex alarm chdir kill
exec return y s gt sin sort split
Šito kodo pervarymas per O::Deparse
irgi neduoda naudos, netgi kaip tik dar viską supainioja:
moxliukas@www:~$ perl -MO=Deparse,q obfu.pl
print ' ' and eval " undef or oct xor\ntime xor ref print chr int ord lc\nforeac
h qw y hex alarm chdir kill\nexec return y " gt sin sort(split(" ", $_, 0)) unle
ss not exp log srand xor s// /x xor s/ / length uc ord and print chr\nord for qw
q join use sub tied q/ xor eval $_ xor print ' ' xor int eval " cos and print c
hr ord\nfor qw y abs ne open tied hex exp\nref y " xor scalar srand print(' ') x
or int eval " sqrt cos\nand print chr ord for qw x printf\neach return local x "
;
obfu.pl syntax OK
Atrodo visa idėja yra gudrus xor
naudojimas ir alternatyvių simbolių eilučių delimiterių nešykštėjimas. Reikės pasiknist dar giliau truputį ;)