X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f996b,fd4f3d79f18d7426 X-Google-Attributes: gidf996b,public X-Google-ArrivalTime: 2003-07-17 08:21:52 PST Newsgroups: alt.ascii-art From: Harry Mason Subject: Re: ASCII art from sourcecode as image References: Message-ID: User-Agent: slrn/0.9.7.4 (Linux) NNTP-Posting-Host: prodigy.ecs.soton.ac.uk Date: 17 Jul 2003 16:04:23 GMT X-Trace: 17 Jul 2003 16:04:23 GMT, prodigy.ecs.soton.ac.uk Lines: 49 Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!in.100proofnews.com!in.100proofnews.com!zen.net.uk!213.253.16.105.MISMATCH!mephistopheles.news.clara.net!news.clara.net!server3.netnews.ja.net!news-spool.soton.ac.uk!news.ecs.soton.ac.uk!prodigy.ecs.soton.ac.uk Xref: archiver1.google.com alt.ascii-art:24250 Arthur J. O'Dwyer wrote: > > On Wed, 16 Jul 2003, Harry Mason wrote: >> >> Erik Itter wrote: >> > I have seen both linux source codes and some scripts for my company >> > rendered as images - reads formated with extra blanks line feeds etc. to >> > look like some image if displayed using small enough letters. (without >> > inserting/deleting anything changing the source from the compilers point >> > of view) >> >> For perl there is Acme::EyeDrops. It doesn't just format the program, it >> obfuscates it too. > >> #!/usr/bin/perl -w >> eval eval '"'. ('#'). >> '!'.'/' .('[' > > > The OP has told me via e-mail that he really wants Java, of course. > So unfortunately the 'eval big_long_string' trick that I think is > at the root of EyeDrops' approach wouldn't work. Bear in mind that this is actually an obfuscator, not just a reformatter. You could achieve a similar effect in most languages, including Java, by creative use of white space, string concatenation, etc. > Out of curiosity: Why *two* nested 'eval's at the start of this program? The inner "eval" constructs the text of the original program. You can see this if you replace the outer "eval" with "print": #!/usr/bin/perl -w use strict; print "hello, world\n"; which is the original source code. > And what does ('['^'.') mean? 0x5B^0x2E = 0x75 = 'u', or is there some > deeper magic at work here? :) ('['^'.') corresponds to the "u" in "use strict". Obfuscating is so much more effective if you don't use any alphanumerics in your source code. :) -- | Harry Mason | .------------. | .___, |"Whatever you do will be | | University of | | hjm200 @ | | ___('v')___ | insignificant. However, | | Southampton | | zepler.net | | `"-\._./-"' | it is vitally important | | England | '------------' | hjm ^ ^ | that you do it." Gandhi |