From: gregarican Date: 2006-09-29T05:20:23+09:00 Subject: Re: Obfuscation (was Re: Ruby with Qt or GTK ?) Good points made. Here's a lighter side to this digressing thread (originally regarding GUI toolkit choices for Ruby). Check out something like this --> http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/303ed6cf57a16da8/35181e1c691a3af3?lnk=gst&q=whitespace+quiz&rnum=1#35181e1c691a3af3. Ruby code obfuscation very tongue in cheek! Ken Bloom wrote: > On Thu, 28 Sep 2006 03:27:44 -0700, gregarican wrote: > > > I realize that Ruby 1.8.x code can be at best only obfuscated, not > > compiled. So obviously created a closed source product with Ruby would > > be out of the question. Even a Ruby 2.0 YARV bytecode-compiled product > > could be reverse engineered, as is the case with Python offerings. But > > just because something is commercial doesn't _necessarily_ mean that > > it's closed source, does it? > > Ruby can't even be really effectively obfuscated (at least not as > effectively as Java), because it depends on things being named the same > for duck typing to work. In Java, you can rename any method in the > inheritance chain that isn't defined in the parent class, you also get > overloading to help with the obfuscation so you start by renaming > functions to as many overloads of "a" as possible, then to as many > overloads of "b" as possible and so forth. In Ruby, you don't have the > naming heuristic, nor do you have the ability to create many overloads of > the same function. > > Even Java bytecode can be decompiled, and I suppose a hypothetical > native-compiled Ruby program would have a lot more information in it than > a native-compiled Java or C++ program, and you could still do a good job > of reverse-engineering a Ruby program. > > --Ken > > -- > Ken Bloom. PhD candidate. Linguistic Cognition Laboratory. > Department of Computer Science. Illinois Institute of Technology. > http://www.iit.edu/~kbloom1/ > I've added a signing subkey to my GPG key. Please update your keyring.