[sf-lug] Obfuscating C code: 2[a] is the same as a[2]
Asheesh Laroia
asheesh at asheesh.org
Sun Sep 7 17:53:01 PDT 2008
At lunch, after the SF-LUG meeting today, I made some crazy claims that,
given an integer array a = {1,2,3}:
a[2] = 0;
is the same thing as
2[a] = 0;
My friend Venkatesh (CC:d for fun) write a good explanation of David
Korn's entry for the International Obfuscated C Coding Contest at
http://endeavour.zapto.org/notebook/compute/korn1987.html that explains
why this:
main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
prints the word "unix". It's based on the same principle. Plus a lot
more.
Enjoy!
-- Asheesh.
P.S. This fortune as my signature was random but topical.
--
As of next Tuesday, C will be flushed in favor of COBOL.
Please update your programs.
More information about the sf-lug
mailing list