'Scarecrow' license agreements and how to defeat them

'Legal scarecrow' agreements are NOT legally binding
And even if they were, I'll show you here how to circumvent them...

by fravia+, 20 October 1998, in fieri
[What they are] ~ [Eye for eye] ~ [Reversing them] red

What they are

Most licence agreement (that thing that you click "I agree" on and never read, where you agree to give up your first born child and let your sister be sold as a slave :-) include a clause that prohibits reverse engineering. A couple of examples...

(i) use this software on as many computers as you wish at no charge for 
up to but no more than 30 days. After 30 days of use you must either 
discontinue the use of this software or purchase a registered version 
for each computer that you are going to use this software on.


(i) sublicense, rent, sell,  or lease any portion of this software;

(ii) reverse engineer, decompile, disassemble, modify, translate, 
make any attempt to discover the source code of this software, or 
create derivative works from this software; or

(ii) continue use of this software after your 30 day trial.


We have made every effort possible to ensure that this software is free 
of any bugs or errors, however in no way is this software to be considered 
error or bug free.  By using this software you assume all responsibility 
for any damages or lost data that may result from any errors or bugs in
this software.  Regardless of whether any remedy set forth herein fails 
of its essential purpose, in no event will our Software house be liable 
to you for any special, consequential, indirect or similar damages, 
including any lost profits or lost data arising out of the use or inability 
to use this software...

Note that you should not "reverse engineer, decompile, disassemble, modify, translate, make any attempt to discover the source code", as if the source code of a software product were a 'private secret' that third parties are not even allowed to examine...

Here another example:
You may not:

* permit other individuals to use the Software except  under  the
  terms listed above;
* permit concurrent use of the Software;
* modify, translate, reverse engineer, decompile, disassemble  or
  create derivative works based on the Software;
* copy the Software other than as specified above;
* rent, lease or otherwise transfer rights to the Software; or
* remove any proprietary  notices or labels on the Software.


Title, ownership rights, and intellectual property rights in  the
Software  shall  remain  in  Our Software house  and/or  its  
The Software is protected by the copyright laws and treaties. 
Title and related rights in the content accessed through the Software
is the property of the applicable content owner and may  be  pro-
tected  by  applicable  law.  This License gives you no rights to
such content.


The license will terminate automatically if you  fail  to  comply
with  the limitations described herein.  On termination, you must
destroy all copies of the Software and Documentation.

Here there seems to be an interesting possibility. I reverse the software. License has been violated and terminate. I then destroy all copies of the software, and have then respected the licence. And so on ab absurdo. Like the never-ending sentence "All crackers are liers, lied the cracker".

Eye for eye

(Let's produce our own preliminary agreements and let's alien software sign them)

OK, it is clear that such 'scarecrow' agreements are as funny and preposterous as you wish, yet of course NOT legally binding. Let's demonstrate it ab absurdo: If they were legally binding, then ANY agreement of this sort would be, and then anyone, you or me, could prepare on his own a small program (I promise that I'll really write it myself as soon as I find the time) that acts as a small 'wrapper' for all this kind of software (I really wish that a good lawjer will correct this in order to make our own 'legal scarecrows' even more dangerous-looking than those used by some softwarehouses...):
Your software is entering my private computer. By trespassing 
this memory point you  agree to allow complete  possession of 
your  software to the  legitime  owner of this  computer, and 
specifically you  completely and irrevocabily  agree to allow 
any attempt to modify, translate, reverse engineer, decompile,
disassemble or create derivative works based on this Software 
that the legitime owner of this memory (i.e. me :-) fancies.
You also declare as void and inexistent any other conditions-
agreements  regarding your  software that  may preposterously 
be triggered by your software inside the RAM hosting you.
Finally  you  accept  also  COMPLETE  RESPONSABILITY  for any 
malfunctioning your software will have caused to the owner of 
the  hardware  you  are  herewith  allow to visit ONLY if you 
accept this.

If you don't wish  to  accept these  conditions, please leave 
immediatly this private memory and fully remove your software 
from this private hardware.
By trespassing this  memory point you  have completely agreed 
to the above. 
              [add date with hours, minutes and seconds here] 
 [add 'Signature' with the version name of the software here]

. Ab absurdo, as I said... yet, see, either both "agreements" are valid or neither is... you cannot have the cake and eat it.
I would say that we could keep it this way: anyone may reverse the hell out of everything, provided he does not steal or sell alien code.
The only binding texts are the NATIONAL LAWS governing software reversing and we have already seen that (at least in the European Union):
 5(3): The person having a right to use a copy of a computer program          
       shall be entitled, without the authorization of the rightholder, 
       to observe, study or test the functioning of the program in 
       order to determine the ideas and principles which underlie any 
       element of the program if he does so while performing any of 
       the acts of loading, displaying, running, transmitting or 
       storing the program which he is entitled to do.

Reversing them

(Let's click our 'I disagree' button)

Now, this said, I cannot understand why a cracker (one of the most intriguing heroes in modern society) should not use his superior knowledge in order to avoid ANY silly trick or bogus legal mumbo-jambo, in life and in software life as well.

So let's see: let's take as target "Window Washer", by Webroot software.

There you can read the following preposterous text:
(i)   sublicense, rent, sell,  or lease any portion Window Washer;
(ii)  reverse engineer, decompile, disassemble, modify, translate, 
      make any attempt to discover the source code of Window Washer, 
      or create derivative works from Window Washer; or
(iii) continue use of Window Washer after your 30 day trial.

Well, I don't like it: of course I wish to reverse engineer, decompile, disassemble modify and make any attempt to discover the source code of any application running on my ram... why shouldn't I?

This puts me in a difficult situation: I cannot agree with this clause, yet the demande made is as much as my conscience, verging on the border of that that fine line which divides honesty from dishonesty, would tolerate...

So let's reverse THIS AGREEMENT first of all:

1) Fire the Customizer (you'll find it -uncracked) in my tools section, crack it first.

2) Fire Window Washer (actually it's 'setup' module).

3) identify the main agreement window with the customizer, you'll see that's Class: TForm4; Title: License Agreement & Disclaimer; Handle (here) 0x0644; Dimensions: 373x557 at 61,216;

4) now point the customizer to the small button 'Agree', you'll see that's class Tbutton; ParentClass: TForm4; Dimensions: 25x75 at 395,378.

5) Now choose the label 'Text' Inside the customizer. And type under 'Nex Text': 'I Disagree' (or whatever you fancy :-)

6) Since I didn't agree, I'm not bound to the list of no-no-no. Yet don't worry: I won't translate nor modify this crap.

So easy it is. And yet this i quite interesting, not only for software license agreements, bu also for many more legal paraphernalia that are now appearing on the web everywhere. Let's see more 'in deep' the code used by a normal application for this kind of stuff...
... to be continued, your suggestions, additions, critics and modifications are welcome... 20 October 1998...
redhomepage red links red anonymity +ORC redstudents' essays redacademy database redbots wars
redantismut redtools redcocktails redjavascript wars redsearch_forms redmail_fravia
redIs reverse engineering illegal?

red(c) Fravia 1995, 1996, 1997, 1998. All rights reserved