From: Lothar Scholz Date: 2004-06-02T21:31:27+09:00 Subject: Re: Obfuscating Ruby Code. Hello Michael, MN> Hm, but you could replace all "method_name" methods with MN> "obfuscated_method_name" (e.g. using a SHA1 hash function) and if you MN> know all method names a priori, then you could use a perfect hash. Or MN> if there should be a collision, then fall back using plain method names. The main problem comes with the dynamic nature of ruby. Other people already mentioned some of this. The node tree only gives you a nice readable syntax representation, but it does not solve any of the problems. Of couse if you have a "clean" program then it shouldn't be so difficult, but writing a generic obfuscator is an almost impossible way. For example look at "tk.rb" - its a really ugly ruby code using all kind of tricks that are possible with an interpreted ruby. So to repeat myself the best way is to add some kind of decryption into the ruby.exe and make the modified ruby source code as closed source. -- Best regards, emailto: scholz at scriptolutions dot com Lothar Scholz http://www.ruby-ide.com CTO Scriptolutions Ruby, PHP, Python IDE 's