E para quem quiser trollar, o módulo que faz esse tipo de ofuscamento é o Acme::EyeDrops (<a href="http://search.cpan.org/~asavige/Acme-EyeDrops/lib/Acme/EyeDrops.pm">http://search.cpan.org/~asavige/Acme-EyeDrops/lib/Acme/EyeDrops.pm</a>). Já para converter imagem em texto, o Image::Magick (<a href="http://search.cpan.org/~jcristy/PerlMagick-6.66-1/Magick.pm.in">http://search.cpan.org/~jcristy/PerlMagick-6.66-1/Magick.pm.in</a>) quebra o galho.<br clear="all">
<br>ABS()<br><br>
<br><br><div class="gmail_quote">2011/2/2 Gabriel Andrade <span dir="ltr"><<a href="mailto:gabiruh@gmail.com">gabiruh@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><br>
On Feb 2, 2011, at 9:54 AM, Stanislaw Pusep wrote:<br>
<br>
> E nesse caso, vai imprimir o que?<br>
><br>
> #!/usr/bin/perl<br>
> eval eval '"'.<br>
><br>
><br>
> ('['^'+').('['^"\)").( '`'|')')<br>
> .('`'|'.').('['^'/').('{'^ '[' ).'('.<br>
> '('."'".('`'^('&')). "'".(('{')^ (( '[')<br>
> )).('['^'#'). ('{'^'[').('^'^('`' | '/')).<br>
> (('^')^( '`'|"\.")).( ( '^')^('`'|<br>
> (( ( '.'))) )) .( '^'<br>
> ^ ( '`'|'.')).')' .('{'^ '['). ('.').( ((<br>
> (( ( ( ( '{') ))))))^'[').'('. "'". ((( '{')<br>
> )^ '.' )."\'".( '{'^'[') .('['^'#').( '{' ^((<br>
> '[') )).+( ';'&'=' ). (('^')^( '`'| '.' )).<br>
> ((( '^'))^( ( ('`'))| (( '.' ))) ).')' .<br>
> ((( ( "\{")))^ '['). ( "\.").(<br>
> '{' ^ (( '[' ))). ('('). ( (( "'"))).<br>
> (( '!') )."'".(<br>
> '{' ^'[' ).''. ('['^'#'<br>
> ).+( ( (( ( '{')) ))^'[' ) .(('^')^(<br>
> "\`"| (( ( (( ',') ))))) ).+( '^'^(<br>
> '`'|'.')). "\)".( '{' ^+<br>
> "\["). '.'.('{'^'[').'\\'. '"' .((<br>
> '\\' )).'\\'.('`'|'.'). '\\'.<br>
> '"'.')'.';'.('!'^'+').'"'<br>
> ;$:='.'^'~';$~='@'<br>
<br>
</div>Pros que ainda estão coçando a cabeça (como eu, que ficava quando via códigos assim):<br>
<br>
$ perl -MO=Deparse <a href="http://trollface.pl" target="_blank">trollface.pl</a><br>
eval eval qq["print (('F' x 1000) . ('U' x 900) . ('!' x 20) . \\"\\\\n\\");\n"];<br>
$: = 'P';<br>
$~ = '@';<br>
<br>
A mágica desse código reside na possibilidade de se realizar operações bitwise sobre string de bits em perl.<br>
<br>
'[' ^ '+' produz 'p'<br>
'[' ^ "\)" produz 'r'<br>
'`' | ')' produz 'i'<br>
<br>
e assim por diante, até formar a string usada no 'eval'. O resto é usar a imaginação e ir inserindo espaços em branco no código pra formar o desenho.<br>
<br>
Em python isso não iria dar certo... o parser daria chilique no primeiro parágrafo mal indentado.<br>
<div><div></div><div class="h5"><br>
=begin disclaimer<br>
Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</div></div></blockquote></div><br>