- The page:
"You may want to check your license at a few critical locations in your code for added security." I would change that “may” to “must”.
Unlike compiled languages, ruby files must be scrambled to protect their content.
But any extensions that follow the file/folder naming conventions advocated ( a separate simple main.rb, a separate simple LoaderandMenu.rb, and one or more other rbs for individual command methods) would be fairly simple to reverse engineer. The tutorial doesn’t say to scramble the main.rb so that exposes the module name. If I put the licensing code in the scrambled loader, a little trial and error would allow me to recreate that also. Remember I would have access to a Youtube Video showing toolbar naming. If that doesn’t work I buy one copy (or get a limited time free trial). That exposes the module and method naming to the ruby console if it’s different from the file or menu names.
All I have to do is recreate the rb file making the license call; the rest can remain scrambled. So licensing MUST be checked and scrambled at the individual command method level.
`2. It is well known that the biggest threats to security are not external hackers: the biggest threat is from disgruntled employees. Someone within Trimble knows the unscramble algorithm and it will have a market price. He needs a pay raise.