in reply to Just another silly pattern
You have an "x" deliminated (did I just make that word up?) string ($d) of the
output of
chr() - 1on every character of your original code. And on that topic your original code is: {@a=("A(Whfg)","A(nabgure)","A(crey)","A(unpxre)");for (@a){s/\(/\"/g;s/\)/ \"/g;tr/A-Ma-m]N-Zn-z]/N-Zn-z]A-Ma-m]/;s/N/print/;$_.=";";eval($_);}} You take every element of @a and first turn the { into " and the } into a space and a " so:
A(Whfg)becomes ( s/\(/\"/g )
A"Whfg)becomes ( s/\)/ \"/g )
A"Whfg "then you use tr/A-Ma-m]N-Zn-z]/N-Zn-z]A-Ma-m]/ to turn
A"Whfg "into
N"Just "this works because it replaces a character, for example W, with its complement (kinda broke explanation :) i.e. W is the 10th character in N-Z, and J is the 10th character in A-M, so J replaces W. It is case insensitive because you say both A-M and a-m, etc. Then
N"Just "becomes ( s/N/print/ )
print"Just "then ; is added to the end of the string by $_.=";"; and the string is evaluated! for my first explanation of a obfuscation, not that bad :)
In Section
Obfuscated Code