[TI-BASIC] Copy Protection

Got questions? Got answers? Go here for both.

Moderator: MaxCoderz Staff

Qazaq
New Member
Posts: 5
Joined: Thu 19 Oct, 2006 9:36 pm

Protection and Authorization?

Post by Qazaq »

Hello.

I am looking for a way to require "authorization" of my programs. I sell some of them at school, and some the older one's get pirated, even plagiarized.
I recently added TI-graph-link's edit protection (people at my school are not too bright, so I don't think they can get around this)
I know how to create errors, and that to make an authorization required, you would do something like this:

If N (is not equal to)20
Goto XX

And of course the error "Lbl" would come up, without a goto option.

BUT, I can't figure out a way to authorize one program without allowing that person to spread the authorized program...

So how would I set n=20 on just 1 calculator, without the user easily being able to change it?

(also, the programs are protected, so the user can't see the code I put in the program)

I have looked at http://tibasicdev.wikidot.com/protection but It doesn't make that much sense...
Thanks
qazaq
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

Afaik there is no way to stop people from copy your game/prog from one calc to another.

On the other hand, who the fuck sells crappy basic games :S that's really evil of you imo
Image
User avatar
anykey
Extreme Poster
Posts: 420
Joined: Mon 31 Jan, 2005 3:36 am
Location: In the matrix
Contact:

Post by anykey »

There is no way to do copy protection with basic games.
Just look at what the RIAA has tried in the past; you'll soon find that there's a way around most forms of copy protection, and once people find it there's not much you can do to stop them.
Who would buy those? You can download amazing asm programs FOR FREE. Selling basic games is just complete bullshit.
I think, therefore iMac
Image
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4141
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

Well they might not be games, they might be math helpers and such. I personally dont believe in selling calc programs, but to each their own.

Unfortunately there is no real way to effectively copy protect a calc program. Im also not sure about calc specific codes.
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

If it was assembly, you could do some fancy SMC with the calc's serial number, but that's still not crack-proof; all one needs to do is take CalcSys and add a jr around your verification code. Bottom line: pointless.
Image Image Image
Qazaq
New Member
Posts: 5
Joined: Thu 19 Oct, 2006 9:36 pm

Post by Qazaq »

kv83 wrote:Afaik there is no way to stop people from copy your game/prog from one calc to another.

On the other hand, who the fuck sells crappy basic games :S that's really evil of you imo
Sorry, I didn't explain myself fully

The programs are for Pre-calculus Trigonometry.

Not games :)

I am not nearly experienced enough to write a game. Much less a crappy game.

Any way, I do believe there is a way to authorize (as explained on the website I mentioned) certain calculators...a "code" in the programming if you will

It would pop up with an error if a certain variable didn't equal a certain number...only problem is making this variable/number calculator-specific.

A simple thing to crack, but considering the customers...

Btw, it's not like I have a business...I am doing some friends a favor for a like 5 bucks. Punch in 3 numbers and out pops 3+ answers. Took me a while...and it pretty much does their homework for them. I'm not some program/homework factory that hands an entire class all the answers...not at least, without some sort of barrier. So I get five bucks, they get all the answers they could wish for. I am really cheating myself...but heck, I'm a nice guy :)

I think what I am really asking is: how do you make a variable universally equal something on a calculator, without doing it in the program. Maybe if you read what I read, you could understand it better than I. http://tibasicdev.wikidot.com/protection

I need to make N=20, and that value be recognized within a program, without that value being easily changed, and without n=20 in the program itself.

This way, if someone tries to share the program, the reciever won't be able to use the program because in the program:
If n (is not equal to) 20
goto XX

Which pops up with a nice LBL error and stops the program. Since the program is protected, a novice programmer would be unable to find and fix the problem.

Unless they know how to use TI-Graph-link.

Doubtful, even at best.
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

Try using a less-used variable, like the finance N, if you must do this. Afaik, in BASIC, you can't distinguish between different calcs.
Image Image Image
Qazaq
New Member
Posts: 5
Joined: Thu 19 Oct, 2006 9:36 pm

Post by Qazaq »

I didn't think of that, thanks

So as long as the user doesn't "Clear all entries," I could just set (on his calculator) the Finance N=20 (or whatever) and unlock the program.

I could also create a hidden program and send it to his calculator via mirageOS that makes finance n equal to 20 whenever the program is run...right?
Qazaq
New Member
Posts: 5
Joined: Thu 19 Oct, 2006 9:36 pm

Post by Qazaq »

Except...
Being the noob I am, I have no clue how to cause N to equal 20 on another person's calculator. Or mine for that matter.
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

20-->N should work wonders, where --> is the [STO>] key.
Image Image Image
chickendude
Extreme Poster
Posts: 340
Joined: Fri 07 Jul, 2006 2:39 pm

Post by chickendude »

Please stop selling your programs. Even TI stopped selling their applications.
User avatar
KermMartian
Calc Wizard
Posts: 549
Joined: Tue 05 Jul, 2005 11:28 pm
Contact:

Post by KermMartian »

chickendude wrote:Please stop selling your programs. Even TI stopped selling their applications.
Agreed. I don't mind if he uses it to prevent rampant copying, though, as long as he doesn't charge to "unlock" it.
Image Image Image
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Qazaq wrote:Maybe if you read what I read, you could understand it better than I. http://tibasicdev.wikidot.com/protection

I need to make N=20, and that value be recognized within a program, without that value being easily changed, and without n=20 in the program itself.
I read it, and it's a very childish and stupid trick in a neat website...

First, don't lock software. Second, don't sell software. Third, [unlock], [edit], [lock] would screw up your protection - not only Graphlink can do that you know. Fourth, users can just copy both the program and the variable it relies on, or all variables if they don't know which one is the right one, and still be able to spread your software.

It doesn't work and it shouldn't work.
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
King Harold
Calc King
Posts: 1513
Joined: Sat 05 Aug, 2006 7:22 am

Post by King Harold »

I have an idea. You know the "ERR:VERSION", you can only get that error while trying to send a prog with unsupported commands or from assembly.
Now, just make a little assembly program that will set that little version number as high as possible (say $FF) so whenever someone tried to send it, it will fail. The drawback is that you'll have to give them the program that locks it, and force them to execute it.

Edit-locking programs is quite useless, but I usually make my programs as complicated and small as possible (colons instead of newline etc), less people will understand the code, so less people will edit it.

I also developed a useless "protection"-code generator, its code changes every day, but since its BASIC its completely useless. Still fun though.
Floodkiller
Sir Posts-A-Lot
Posts: 245
Joined: Mon 14 Nov, 2005 9:47 pm
Location: Getting overwhelmed by everything
Contact:

Post by Floodkiller »

The best way to prevent a copied BASIC program is just to not distribute it at all. There is no way to prevent a spread to other calcs, selling programs is evil, and there is no way to prevent copying. In fact, the only way to prevent a spread in the calculators is to break the other persons cable ports after you give it to them, and I am sure they won't let you do that, no matter how stupid they seem to be.
Main Projects:
Zombie Attack: 20%

Side Projects:
???-25%

Image

Staff member of Hikaru Rakuen Programming.
Post Reply