3 ms·
Similarly, tabs and spaces can be used as a primitive form of binary. A simple decoder function will allow you to generate entire Javascript programs using onl
by tsally 17y ago
Similarly, tabs and spaces can be used as a primitive form of binary. A simple decoder function will allow you to generate entire Javascript programs using only whitespace.
Javascript obfuscation can get really nasty. For those interested in pursuing the issue further, I recommend checking out Caffeine Monkey [1], an automated tool for analyzing and classifying Javascript. The paper [2] gives a good overview of Javascript obfuscation techniques and the implementation of the tool.
One notable thing about Caffeine Monkey is that it attempts to do behavioral analysis instead of signature-based analysis, thereby reducing the effectiveness of obfuscation.
[1] http://www.secureworks.com/research/tools/caffeinemonkey.html http://www.secureworks.com/research/tools/caffeinemonkey.htm...
[2] https://www.blackhat.com/presentations/bh-usa-07/Feinstein_and_Peck/Whitepaper/bh-usa-07-feinstein_and_peck-WP.pdf https://www.blackhat.com/presentations/bh-usa-07/Feinstein_a...
- patrickas 17y agoThis reminds me of Acme::Bleach for Perl :) http://search.cpan.org/~dconway/Acme-Bleach-1.12/lib/Acme/Bleach.pm http://search.cpan.org/~dconway/Acme-Bleach-1.12/lib/Acme/Bl...