LB Booster
« Copy protection »

Welcome Guest. Please Login or Register.
Apr 1st, 2018, 05:25am



ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018.
We apologize Conforums does not have any export functions to migrate data.
Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.

Thank you Conforums members.
Speed up Liberty BASIC programs by up to ten times!
Compile Liberty BASIC programs to compact, standalone executables!
Overcome many of Liberty BASIC's bugs and limitations!
LB Booster Resources
LB Booster documentation
LB Booster Home Page
LB Booster technical Wiki
Just BASIC forum
BBC BASIC Home Page
Liberty BASIC forum (the original)

« Previous Topic | Next Topic »
Pages: 1 2  Notify Send Topic Print
 hotthread  Author  Topic: Copy protection  (Read 31 times)
Monkfish
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 104
xx Re: Copy protection
« Reply #5 on: Aug 20th, 2015, 2:05pm »

So that works great.

As you said Richard, I need to change the serial number in the program code each time to match the drive it is saved to.

Is there a way to automate this process?

I can probably do it using the command line switches, the only problem is that when I use the statement below in a batch file it brings up the save screen and requests acknowledgment. I need it to automatically acknowledge if the whole process is going to be totally automatic.

LBB -C -A -M file.bas
« Last Edit: Aug 20th, 2015, 2:45pm by Monkfish » User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Copy protection
« Reply #6 on: Aug 20th, 2015, 4:12pm »

on Aug 20th, 2015, 2:05pm, Monkfish wrote:
I need to change the serial number in the program code each time to match the drive it is saved to.

I had assumed that rather than having several different executables, one for each USB drive, you would have a single executable containing a list of allowed serial numbers. That's the method I adopted; is it not convenient for you to do that?

Richard.
User IP Logged

Monkfish
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 104
xx Re: Copy protection
« Reply #7 on: Aug 20th, 2015, 6:15pm »

Well I am supplying the software on memory sticks that all seem to have a different serial number, which is a good thing from a security point of view. I can write a semi-automated process, that just needs the save and file overwrite to be acknowledged. That's better than changing the code manually.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Copy protection
« Reply #8 on: Aug 20th, 2015, 6:47pm »

on Aug 20th, 2015, 6:15pm, Monkfish wrote:
I can write a semi-automated process, that just needs the save and file overwrite to be acknowledged. That's better than changing the code manually.

Maybe I'm being thick, but I can't see why you would want to automate the compilation process. Putting a different EXE onto every memory stick seems a lot of work for no obvious benefit.

Surely it's easier for all the EXEs to be identical? Then there's no need for any 'automation' (other than creating the list of serial numbers, which you'll need to do anyway).

Of course I'm assuming that all the USB sticks are going to be available at the start, but even if you need to do it in batches you'll only need to recompile for each batch, and the new EXE will still work on the earlier sticks.

What am I missing?

Richard.
« Last Edit: Aug 20th, 2015, 7:02pm by Richard Russell » User IP Logged

RobM
Junior Member
ImageImage


member is offline

Avatar




PM


Posts: 91
xx Re: Copy protection
« Reply #9 on: Aug 20th, 2015, 7:21pm »

How many programs will you be selling/distributing? How will you handle releasing an updated version?

My program's registration system also uses the drives serial number but I have only one version of the .exe, not a unique one for each customer. That would be a nightmare for me.
User IP Logged

Monkfish
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 104
xx Re: Copy protection
« Reply #10 on: Aug 20th, 2015, 8:13pm »

Yes Rob, program updates are a concern.

Maybe I don't understand Volume Serial Numbers? Can I set the volume serial number of each pendrive myself? I thought this was hard-wired into each drive?
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Copy protection
« Reply #11 on: Aug 20th, 2015, 9:18pm »

on Aug 20th, 2015, 8:13pm, Monkfish wrote:
Can I set the volume serial number of each pendrive myself? I thought this was hard-wired into each drive?

It's not hardwired, it's set when the drive is formatted (there is a 'hardwired' serial number, but that's something different). There are 'unofficial' utilities that allow you to change it, but I wouldn't advocate using those.

Why do you have a difficulty with the drives all having different Volume Serial Numbers, but using a common executable that they all share? It's what I do, so there's still something I'm missing. Admittedly in my case there's only about half-a-dozen serial numbers in the list for my code to check against, but there could be hundreds without any noticeable performance hit.

Richard.
User IP Logged

Monkfish
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 104
xx Re: Copy protection
« Reply #12 on: Aug 20th, 2015, 10:51pm »

Well say I buy 50 pen drives all with different serial codes and then later on I buy 50 more all with different codes, how do I cope with that?

Of course, if I can change the volume serial number of all the drives to the same value, that will solve the problem.

Sorry if I'm not being clear.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Copy protection
« Reply #13 on: Aug 20th, 2015, 11:06pm »

on Aug 20th, 2015, 10:51pm, Monkfish wrote:
Well say I buy 50 pen drives all with different serial codes and then later on I buy 50 more all with different codes, how do I cope with that?

The way I would cope with it would be to add the 50 new serial numbers to the program (so there are now 100 in the list) and recompile it. Yes it's a manual operation, but you only have to compile the program twice rather than 100 times!

Richard.
User IP Logged

Monkfish
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 104
xx Re: Copy protection
« Reply #14 on: Aug 21st, 2015, 1:04pm »

I've decided to change the serial number of all my supplied pen drives to the same value. That seems the best option and appears to work fine.
User IP Logged

CryptoMan
New Member
Image


member is offline

Avatar




PM

Gender: Male
Posts: 46
xx Re: Copy protection
« Reply #15 on: Aug 25th, 2015, 9:56pm »

Use RSA algorithm.

Create yourself a Private and Public key pair.

Keep private part on your side and embed public key in your app in pendrive.

At the activation stage read the volume serial number say a 16 hex digit number, append 240 randox hex bytes to the right and sign this with private key and put that certificate to thr pen drive.

At the start and at critical points read volume number and check certificate with embedded public key by raising certificate to power 3 mod N and look at the firrst 16 hex digits.

Or, create a constant unique string of 20 bytes and write zzzzzzzzzzzzzzzzzzz and find its position in your exe file. at activation step get volume number and xor 20 byte random fix number and then calculate SHA1 of this and open your exe as a random file and seek to the position zzzzz... you found before and place this SHA1 hash there.

And in normal use mode at the start open your exe as a random file seek to the same position and retrieve the hash , read volume no and xor same fixed random and recalculate SHA1 and check if they are same number.

Probably, a casual user can not break such a scheme.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: Copy protection
« Reply #16 on: Aug 25th, 2015, 10:57pm »

on Aug 25th, 2015, 9:56pm, CryptoMan wrote:
Probably, a casual user can not break such a scheme.

It's just as easily broken as any copy-protection scheme based on the Volume Serial Number. The attacker just needs to change the serial number of his disk to be the same as the serial number of the pen drive, and the program will run! grin

I'm sure the OP appreciates this, since he is proposing to 'break' the copy protection himself by giving all his pen drives the same Volume Serial Number! tongue

Richard.
User IP Logged

Monkfish
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 104
xx Re: Copy protection
« Reply #17 on: Aug 26th, 2015, 07:50am »

Yes, I wasn't really after a hacker-proof solution, just one that would defeat the average user. But I appreciate the info CryptoMan. That might come in handy in the future.

I think we probably have different ideas of what a "casual user" can do. My casual users have never used the right mouse button wink
« Last Edit: Aug 26th, 2015, 07:57am by Monkfish » User IP Logged

Pages: 1 2  Notify Send Topic Print
« Previous Topic | Next Topic »


This forum powered for FREE by Conforums ©
Terms of Service | Privacy Policy | Conforums Support | Parental Controls