[TI-BASIC] Copy Protection
Moderator: MaxCoderz Staff
Protection and Authorization?
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
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
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.
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.
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
Sorry, I didn't explain myself fullykv83 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
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.
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
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?
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?
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
-
- Extreme Poster
- Posts: 340
- Joined: Fri 07 Jul, 2006 2:39 pm
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
I read it, and it's a very childish and stupid trick in a neat website...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.
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
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
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.
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.
-
- Sir Posts-A-Lot
- Posts: 245
- Joined: Mon 14 Nov, 2005 9:47 pm
- Location: Getting overwhelmed by everything
- Contact:
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.