An article (linked below) on codeproject.com shows how to encrypt a code
segment. When a valid license exists, the code segment is decrypted and
patched in memory. This allows shareware features to be disabled until a
valid license exists. I like this a lot, but I am less than excited that
it uses the Windows Cryptographic API.
Would anyone be interested in helping me replace the Windows CryptoAPI
with Crypto++? I have a feeling it would be very straightforward for
someone familiar with these APIs.
Here is the article...
http://codeproject.com/library/ssdsdk.asp
Here is my version of the source (includes rebasing and some essential
bug fixes)...
http://n4te.com/dev/misc/ssdsdk-refined.zip
Thank you much for any help or direction you can provide.
-Nate
P.S.
Hoping to keep this thread on track, yes, I realize this is not a
perfect solution. Someone with a valid key could patch the decryptor so
it patches the segment on disk rather than in memory. However, this
protection scheme is easy to implement, yet a reasonable amount of work
for a cracker to break. Also it *requires* a valid key to crack.