Hi Matthew,
That's an interesting concept. Do you have an example handy? I'm afraid
I
don't have any idea where to start with this.
Ooops! Sorry, I forgot to include an example. Ive attached a ZIP to
this message with one in. Be warned that it would be easy for people to
make mallicious files, unless you load the object using restricted security,
not something I've done yet.
1) Compile the example and run
2) Press "create the fly object!"
3) Browse to "flyObjectFile.vb" in the project folder
(notice how the text of the form has changed to "Bob")
4) Press "set property" and give it a new name, such as "Fek"
(notice how the text of the form has changed to "?")
5) Press "call method" and give a string to send to the method, it will
now display a messagebox with "? says said:
Nice thought. My software is designed for presentation; I will put a
watermark on the "display" part. That oughta be enough ;-)
Sounds like a cool idea! I just believe that making time-limited
software is like flogging a dead horse!
I am not sure what you mean by pre-compile constants.
What I am doing now looks like this:
Private Sub Form1_Load( 'etc
If isRegistered() = True Then
'full version stuff
end if
End Sub
Well, if you load up your project properties, then goto "Configuration >
Build" you can then enter your own custom constants, make one called "FEK =
True" Now if you put the code
#if (FEK)
'do stuff
#endif
"'do stuff" will only be compiled if FEK is True, so if it doesnt get
compiled the code wont be in the binary! You can use this method for loads
of uses, but you might be just as well off with how your doing it right now,
after all if you are only releasing 1 binary there should be no need
'in a module:
Function isRegistered()
if [regestration key exists in external text file and validates correctly]
then
return True
else
return false
end if
end function
Yeah, that should do the trick, it's pretty easy to hack something like
that, but then again you shouldnt think like that as all code is hackable
:-( So yeah, that should do the job fine.
I agree, licensing is the way to go. The concept of signed XML files
sounds
very interisting. Can you point me in the right direction for some
information?
Well it's not easy to explain, but I could give some keywords that should
help loads,
* System.Security.Cryptography.Xml
* RSA Public key encryption
* SignedXML class
You will need to make a key pair first, when I make them I store them as
files, I have an example of this,
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1648&lngWId=10
You can then load the files up with the Cryptography name space and use
the "Private" key to sign, and the "Public" key to verify!
As I said above, my app is very simple. My guess is it can't really
compare
to your 1.5 year project ;-)
Well, there was allot of fannying about on my behalf, I could have been
so much quicker, but things get in the way.
No probs, good luck
Nick.