views:

300

answers:

6

Let's say I have designed s very important system, and this system costs thousands dollars. I want to protect my system with a serial number as I know crackers will try to edit the binary code to bypass the serial number.

I have read about using a checksum function and apply it over my binary code and check the value if changed, but again, we are talking about a condition a cracker can avoid by editing the code.

My question is: what's the most used technique to protect important programs?

+1  A: 

Don't sell your program. Keep it locked deep within your vault and never everr let anybody see it. Don't forget to wrap it in tinfoil so crackers can not use their psychic power to steal it anyway.

ammoQ
you are too funny my friend
Hany
Hany: No offence meant, but there is no 100% safe way to protect your programs. If MS can't do it, if Adobe can't do it, if even Nintendo can't do it, it's because it's simply impossible. All you can do is make it a bit harder for the crackers. Make it to hard and they'll take it as a challenge, though.
ammoQ
+4  A: 

See the answer to this question.

Paul Du Bois
+1 for actually attempting to answer the question instead of making fun of the OP for his slightly odd writing style
bdonlan
+4  A: 

I have yet to see a "protected" digital product that had not been cracked pretty quickly after its publication (or in some cases, before its publication). Sorry, but it's the reality. You have to get the revenue by making a good product. Most of those who want to use it and can afford, will pay.

There will be a few dickheads, but that's life. You better be kind towards the legit users of your software and not bully them with weird copy protection attempts that don't work anyway.

Joonas Pulakka
Word. No program is fully protected. Any solution you come up with will have a counter-"Oh, but they can just...". Make it "uncrackable" enough that a totally casual user can't just delete one file on their hard drive to make the nags go away and be happy with that. Any further effort is wasted at best and harmful at worst.
Chuck
A: 

The most used technique is serial numbers. But your customers will have access to the code, so they will be able to bypass your serial number check, no matter how much work you put into obfuscating it.

However, if you can provide your software as a subscription-based or one-time-payment web application, then people will not be able to do this. Whether this is feasible or not depends on the type of application you're writing.

Kaleb Brasee
A: 

If your app is working offline, whatever checks you do (check sums, serial code validity, etc), do them often, repeating verification code, in many routines of your software. Obfuscate your code, to make reverse engineering a more difficult task, and, if you have the possibility, implement an online check, part of the core functionality of your app residing on your server, and being serviced only to those installations that you have checked server-side for valid license key. Associate the license key to some form of unique identifier of the hardware the app is running on, and if you check online, have statistics concerning the IPs that make the verification request: if you encounter more IPs trying to verify the same license key, contact the buyer and approve a list of IPs they usually log on from, whilst blacklisting any other until specific request from them, either by mail or by phone.

luvieere
If I had to use software that requires me to be online all the time from a restricted set of IPs and to answer some stupid calls/mails concerning a license that I have paid for -- I would probably get hold on a cracked, usable version of it. Shouldn't the vendor badger the crackers, not the legit users?
Joonas Pulakka
It depends what your main concerns are as a customer. I'd rather as a customer see myself as a partner in securing it if I've paid money on it, than fuss about the steps I have to take to ensure that the system is not breached. Trust me, if you convince me to pay money for your software, it'll be something I'll be making damn sure nobody's using for free, and I'd be just as paranoid in protecting it as the person who sold it to me.
luvieere
You have an interesting viewpoint, but I'm afraid that 99 percent of people don't think that way. They may want to use the software and are ready to pay for it, but piracy issues should be the vendor's headache. The fact that MS Windows is being widely pirated doesn't bother me, even though I own a legit copy of it. Well, maybe it should bother me!:)
Joonas Pulakka
I'm addressing a vertical market, so nor can I account for, nor do I target 99 percent of people. Me and my team install, configure and mentain the hardware and software necessary to each instalation, so it's not likely that there are a lot of chances that I get my system pirated. However we and our customers see the ownership of our product as a privilege rather than a consumer commodity, so they are co-interested not to have this quite expensive system breached. The potential implications of the system being hacked would exceed by far the simple scenario of unauthorized and "free" usage.
luvieere
A: 

Thanks for people who trying to help me

My idea is :

there are no full protected program (I am talking about off line programs)

but, you have to protect your program from the beginner crackers

protection will depend on serials and check sum and other algorithms

thanks for discussing this problem ...

Hany
If your concern is entry-level crackers, don't worry about them. Most of ScriptKiddies are not even close of being able to open a system by their own.
Martin Hohenberg