Secretly tracking number of uses
If you were deleting YOUR program and *only* your program when you detected something you didn't like then I can't see the problem. If you do any more than that then you're asking for trouble!
-Mitchell
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
> If you were deleting YOUR program and *only* your program when
> you detected something you didn't like then I can't see the problem
As long as no DATA files of your app are deleted... you can't let the user
sit there and work with your app for 30 days, then delete all his work,
especially if the deleted data is important. For example, you can't have
a banking app delete all his bank records that he entered over the past
30 days during the trial period... he may not have this data anywhere
else in electronic form, and you've screwed him over big time.
But deleting your own files (say the *.exe) is easily fixed... I'd just have
a batch file recreate them from a copy that has another name.
> you detected something you didn't like then I can't see the problem
As long as no DATA files of your app are deleted... you can't let the user
sit there and work with your app for 30 days, then delete all his work,
especially if the deleted data is important. For example, you can't have
a banking app delete all his bank records that he entered over the past
30 days during the trial period... he may not have this data anywhere
else in electronic form, and you've screwed him over big time.
But deleting your own files (say the *.exe) is easily fixed... I'd just have
a batch file recreate them from a copy that has another name.

What you can and can't do legally really depends on the license that covers your software I suppose. If someone was attempting to crack your software and triggered an uninstall I don't think they'd be screaming about their lost data. I understand what you're saying, though..you can't let the user
sit there and work with your app for 30 days, then delete all his work,
especially if the deleted data is important.
The license your distribute with your software SHOULD have many clauses about how you're not responsible should anything happen to the data files either on purpose or on accident. Not because you want to destroy the user's machine but because you need to cover your butt from potential legal trouble if something should happen resulting from a bug (or feature!) in your program.
Regardless of any of that I would never write in protection that deletes everything when it suspects some attempt at cracking the program has been made. In the end it wouldn't get you anything and it's a great big can of worms that could be opened innocently.
Doot!
-Mitchell
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
Check out kBilling for all your billing software needs!
http://www.k-billing.com
Code Signing / Authenticode Certificates (Get rid of those Unknown Publisher warnings!)
http://codesigning.ksoftware.net
-
- Addict
- Posts: 1126
- Joined: Wed Oct 15, 2003 12:40 am
- Location: Sweden
- Contact:
In the old days, i.e Commodore 64 days - The GEOS system used a smart protection system.
They executed code in the video memory during load to transfer code to the 1541 disk drive and then they executed the code (6502) locally on the disk drive and used that for protection. What I remember - they also used self modifying code.
They executed code in the video memory during load to transfer code to the 1541 disk drive and then they executed the code (6502) locally on the disk drive and used that for protection. What I remember - they also used self modifying code.

(\__/)
(='.'=) This is Bunny. Copy and paste Bunny into your
(")_(") signature to help him gain world domination.
-
- Addict
- Posts: 1648
- Joined: Mon Sep 20, 2004 3:52 pm
- Contact:
An oldie, but a goldie:
http://inner-smile.com/nocrack.phtml
I would go for a MD5FileFingerprint(Filename$) solution. Compile your app, get a MD5 finger print then poke it into the app's exe to check itself against. Never tried it but it should work fine!
http://inner-smile.com/nocrack.phtml
I would go for a MD5FileFingerprint(Filename$) solution. Compile your app, get a MD5 finger print then poke it into the app's exe to check itself against. Never tried it but it should work fine!

Here is what I did for one my MsgBox Demo.
Instead of making it good for 50 uses only, I made the demo version good throw up a nag screen after 25 screen updates (this demo was for a msgbox tool). Everytime you restart the program it restarts the counter, I never save it anywhere. So in effect, if you have a program that only needs it for a few uses each time, its free to use.
Licensing had to be handled with an encrypted license file. Whenever someone purchased a license, I multiplied thier name by a secret number to place in a license file. If they share the license file, it contains their name encrypted in the license number.
Instead of making it good for 50 uses only, I made the demo version good throw up a nag screen after 25 screen updates (this demo was for a msgbox tool). Everytime you restart the program it restarts the counter, I never save it anywhere. So in effect, if you have a program that only needs it for a few uses each time, its free to use.
Licensing had to be handled with an encrypted license file. Whenever someone purchased a license, I multiplied thier name by a secret number to place in a license file. If they share the license file, it contains their name encrypted in the license number.
Another approach for what to do, is to let them think they got away with it, but randomly introduce bugs. I know one game manufacturer that did that to identify pirated CD's. People who bought pirated CD's were constantly complaining to tech support with the same problems.Karbon wrote:What you can and can't do legally really depends on the license that covers your software I suppose. If someone was attempting to crack your software and triggered an uninstall I don't think they'd be screaming about their lost data. I understand what you're saying, though..you can't let the user
sit there and work with your app for 30 days, then delete all his work,
especially if the deleted data is important.
The license your distribute with your software SHOULD have many clauses about how you're not responsible should anything happen to the data files either on purpose or on accident. Not because you want to destroy the user's machine but because you need to cover your butt from potential legal trouble if something should happen resulting from a bug (or feature!) in your program.
Regardless of any of that I would never write in protection that deletes everything when it suspects some attempt at cracking the program has been made. In the end it wouldn't get you anything and it's a great big can of worms that could be opened innocently.
Doot!
> Another approach for what to do, is to let them think they got away with it,
> but randomly introduce bugs. I know one game manufacturer that did that
> to identify pirated CD's. People who bought pirated CD's were constantly
> complaining to tech support with the same problems.
Sounds good in theory, but runs the risk that the app gets a bad reputation:
Pirate1: "I've heard that AppX is great for doing [whatever]?"
Pirate2: "Nah, don't use that, it had heaps of bugs when I tried it."
Pirate1: "Okay, what do you recommend?"
Pirate2: "I use AppY now, it's faster and has no bugs like AppX."

> but randomly introduce bugs. I know one game manufacturer that did that
> to identify pirated CD's. People who bought pirated CD's were constantly
> complaining to tech support with the same problems.
Sounds good in theory, but runs the risk that the app gets a bad reputation:
Pirate1: "I've heard that AppX is great for doing [whatever]?"
Pirate2: "Nah, don't use that, it had heaps of bugs when I tried it."
Pirate1: "Okay, what do you recommend?"
Pirate2: "I use AppY now, it's faster and has no bugs like AppX."

I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
one major problem is that if the app doesnt have appropriate debugger and disassembler protection, the cracker just disables whatever you do to protect it. How to get appropriate protection? Make freeware 
or even worse:
NOTpirate: "I've heard that AppX is great for doing [whatever]?"
Pirate: "Nah, don't use that, it had heaps of bugs when I tried it."

PB wrote: Sounds good in theory, but runs the risk that the app gets a bad reputation:
Pirate1: "I've heard that AppX is great for doing [whatever]?"
Pirate2: "Nah, don't use that, it had heaps of bugs when I tried it."
Pirate1: "Okay, what do you recommend?"
Pirate2: "I use AppY now, it's faster and has no bugs like AppX."
or even worse:
NOTpirate: "I've heard that AppX is great for doing [whatever]?"
Pirate: "Nah, don't use that, it had heaps of bugs when I tried it."
Thinstall...
One word is all you need to know....Thinstall
It costs an arm and leg, but, to date, is crack/hack proof and provides the functionality (plus more) of what you are looking for.
Latest version even has anti-SOFTICE and attached debugger technology that prevents your code from being hacked once it's loaded into memory and broken into with break points.
Thinstall is used by the U.S. Department of Defense and big whigs like Exxon because of it's lock tight security. If you can fit it into the expense column of your companies budget, it is well worth the cost.
It costs an arm and leg, but, to date, is crack/hack proof and provides the functionality (plus more) of what you are looking for.
Latest version even has anti-SOFTICE and attached debugger technology that prevents your code from being hacked once it's loaded into memory and broken into with break points.
Thinstall is used by the U.S. Department of Defense and big whigs like Exxon because of it's lock tight security. If you can fit it into the expense column of your companies budget, it is well worth the cost.
Re: Thinstall...
> One word is all you need to know....Thinstall
Yes, but at US $1475 to purchase... it's an arm and a leg, like you said.
Yes, but at US $1475 to purchase... it's an arm and a leg, like you said.

I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
TElock will freely protect you from a lot of crackers. i dont say that it protects from all, but for free, its the best piece of protecting software i have ever found. http://www.softpedia.com/public/cat/5/2/5-2-6.shtml
Use it together with your own encryption/protection (like conditional jumps and using the RET command to perform a jump from stack etc.)
Use it together with your own encryption/protection (like conditional jumps and using the RET command to perform a jump from stack etc.)