Protecting Code
Mark Brownell
gizmotron at earthlink.net
Fri Apr 23 22:07:48 EDT 2004
On Friday, April 23, 2004, at 05:04 PM, kee nethery wrote:
> If I was going to create Revolution code that I wanted to give to
> others but that I wanted to make sure that they could not change in
> the Revolution Editor, how would I protect it? I'd want people to be
> able to call it and compile it into their standalone apps. My
> preference is to not use an XCMD kind of thing because I'd like to
> write once, lock, and then allow people to deploy everywhere.
>
> Kee Nethery
Hi Kee,
I would try using the password property.
From the docs:
"[Specifies a password that the user must enter before making changes
to the stack.
set the password of stack "Secrets" to field "Password"
set the password of this stack to empty -- remove password
Use the password property to encrypt a stack's contents, allowing
access only from within the application.
Value:
The password of a stack is a string.
By default, the password property of newly created stacks is set to
empty.
Comments:
If the password property of a stack is not empty, all the text in the
stack is encrypted (so that it cannot be read in another program, such
as a text editor). Scripts, custom properties, text in fields or
buttons, and object names in a password-protected stack are all
encrypted. However, you can still open the stack, see the contents, and
get object properties.
The password property applies to a stack, not to the entire stack file,
so it is possible to have a stack file that contains both
password-protected and unprotected stacks.
If the password is set, the stack's scripts cannot be modified, its
password cannot be changed, and objects cannot be copied.
These restrictions stop operating temporarily for the current session
when the stack's passKey property is set to the correct password by a
handler.
To permanently remove the password restrictions, set the stacks
password to empty.
Setting the password to empty removes the password from the stack and
makes it fully accessible to any user.
Note: Since all the text in a password-protected stack must be
decrypted when the stack is opened, a password-protected stack takes
longer to open than an unencrypted one, especially if the stack is
large.
The password is encrypted when stored in the stack to prevent cracking
the password protection. If you get the password of a stack, the
property reports the encrypted text of the password, rather than the
password itself.
Important! Password-protected stacks may cause some problems when
opened in the Revolution development environment. (For example, the
Application Browser window cannot display properties of a
password-protected stack.) If you want to set a password for stacks
before you release them, the recommended method is to set the password
in Step 3 of the Distribution Builder when you package the final
application for distribution.]"
More information about the use-livecode
mailing list