From: Meinrad Recheis Date: 2006-03-27T06:05:30+09:00 Subject: Re: Check for expiry in Shareware applications ? On 3/26/06, Nuralanur@aol.com wrote: > Dear all, > > sometimes software that is not released as open source comes as shareware or > demo, which has limited time functionality. > How can this be achieved in Ruby in some way that it cannot be trivially > circumvented (i.e., do not allow for changes in system date to obtain another > 30 days) ? > to secure the source code from the users i compiled the ruby code as gzipped C-string into an executable. the executable starts the ruby interpreter and evaluates the inflated script with rb_eval (actually similar function of the ruby c api which i don't recall now). to make it even more secure you could encrypt the gzipped string. also you could check a crc of the exe to see wether it has been modified. but with a debugger the code might be uncovered at runtime maybe. the question is, where do you store the license info (date installed / numer of times launched) so that the user cannot cirumvent it by reinstalling the product / deleting that data. -- henon