About the author

Lee Hinman writes S-expressions for Sonian all day. Feel free to email me at lee [at] writequit [dot] org. If you do contact me, I highly recommend that you use some sort of encryption.
I enjoy doing software development, security research and writing tools and libraries (mostly in Clojure or Ruby).

(line breaks in the str variable added so it’s actually readable). Looks like this script uses the same XOR method as the script I posted about previously. This script is actually trivial to de-obfuscate using python (I <3 ruby, but ruby doesn’t like strings with #{} in them, so it was easier just to use python instead):

shell> python

>>> str = <long-string-from-above-pasted-here>

>>> str2 = ""

>>> for i in range(0,len(str)):

. . . str2 = str2 + chr(ord(str[i] ^ 1))

str2 now contains the de-obfuscated javascript, which after inserting line breaks, looks something like this: