How to limit..

Miscellaneous Forums/General Discussion/How to limit..

number of possible running of my program..let say I want my game demo stop working after 10 times of program use..so, is there any quality system whats relatively hard to hack what can give me such a thing??

There's some wrapper type things kicking about on the net, not sure how secure they are though. As well as limiting features in your game/app

Dabz

Best way is to spend money on Armadillo it do what you want no probs. Otherwise code it and hope the majority won't hack your method of storing the limit in the registry or whatever.

ok, watch me saying something evil:

Is it possible to have some string like "w00t" which will then appear somwhere in the .exe (when watching it in some editor), remember its location, change this string in your blitz source, and overwrite your exe, and next time check on 'w00t'? :P

naturally, won't work when upx'ing I guess..

I was thinking along the same lines as CS_TBL. I was thinking you could INCBIN something, say a single pixel jpg, and then read the value of that pixel. Change the value of that pixel when your expiration criteria are met, and then the subsequent reads will fail and you can pop up a nag screen, crash out, or whatever.

but wouldn't something like UPX make that impossible?

Also, what's keeping ppl to unzip/unrar the original installation again? Same original pixel.. I fear it has to be done using the registry orso..

Question.

If I make a restore point, install an Armadillo wrapped app, use it, then rollback to the restore point. Can I then insatll it again? And would that work for the other methods mentioned.

(I know that its an unlickly thing to do, just to use NAs program)

personally, I'd release an app/game with limited features, then get them to buy the full version if they like it!

At the end of the day, your in the hands of the end-user, and if someone is bothered enough, they'll crack whatever security you put on their anyway...

Or you could also go with Indiepath, I read in another thread that he gets app to call home, and if the license is a bit dodgy, he sends a message back to shut the program down... Which is a good idea IMO! :)

Dabz

Why would you want to limit the amount of times someone is allowed to experience your game?

I'm assuming this in order to sell it flameduck once they've tried it out, like a 24 hour test drive, let em try the full thing for a limited time, then force em to pay up if they want to carry on.

what was wrong with just giving people less game content in the demo, like it used to be?

what was wrong with just giving people less game content in the demo, like it used to be?


Well, the only drawback is that you'll have to ask them to re-download the full program should they decide to buy it. Shouldn't be much of an issue unless your game is huge or your customer is on *gasp* dial-up.

I'm assuming this in order to sell it flameduck once they've tried it out, like a 24 hour test drive, let em try the full thing for a limited time, then force em to pay up if they want to carry on.
Forceing them to buy? Forcing them to find another game to play more like it. Unless ofcourse your game is truely unique (which if it's any good, it probably won't be for long).

Shouldn't be much of an issue unless your game is huge or your customer is on *gasp* dial-up.
Or alternatively, just include in the demo game, but don't use it until they've registered?


but wouldn't something like UPX make that impossible?



IncBin yeah, but you could just tack the data on at the arse end of a UPX'd file (what would worry me more is the possibility of a virus killer catching the file modification). Reinstallation would circumvent anyway so this whole approach sounds more trouble (to all involved) than it's worth to me.

Why not just limit the amount of content, as suggested above. Include the full content, but using the idea of downloading a small file, which the exe checks, and unlocks in code, the rest of the game.

Keep in mind that if you store data in the executble itself (either through incbin or tacked on to the end as suggested above), you still wouldn't be able to modify it on the fly -- the executable cannot open itself for writing, only reading, so there is no way to update the attached/included data.
some programs hide a registry setting or file on the HD to store that kind of 'expiration' information, but that's pretty bad practise especially since they don't clean up after uninstalling the application... And no program has any business writing outside its own folder structure, ever.

I wrote a small system that uses PAK / UNPAK here... it is controlled by the program and can be turned OFF if the proper code is entered...

{sigh}

I posted how I did this on this site, but no one responded to me... they just told me to buy Armadillo (which runs just in front of your program (a programming guru nerboy told me) so it might add a bit to the size and overhead.

Safest and easiest way is just to release a limited demo, 1 or 2 levels.