Sign in to follow this  
Followers 0
Qsert18

Licence

14 posts in this topic

#1 ·  Posted (edited)

hey again,

I'am searching for some kind of script which can bound a programm to a computer. (somekind of licence)

Example:

I've send my programm to a friend, he should be able to use it etc. But if he spreads it, nobody else will be able to use it

I've roamed the internet a bit, and found this:

License= serialcode of ur c-drive which is unique.

$var = DriveGetSerial( "c:\" )
MsgBox(4096, "Serial Number: ", $var)

u acquired ur/my friends serial number...

Now it has to check rather it's correct

$var = DriveGetSerial( "c:\" )
 If $var <> "45085593755" Then
 MsgBox(0,"ERROR","Serial false")
 Exit
 EndIf

So This would work to bind it to my computer, since i know my serialcode

But how am i able to get this serial number of someone else? To compare with the var?

Kind regards,

Qsert

Edited by Qsert18

Share this post


Link to post
Share on other sites



The best way to achieve what you want would be a little complicated, but it can be done. The first time the program is run, get it to create some kind of signature from the computer it is run on. Use something static like the computer's name or maybe even plant a registry entry and send that info back to your website or server and bind that info with the serial number. The program would also have to contact your website or server if it is being run for the first time (or it thinks it is being run for the first time) and compare the serial number to whatever signature you bound to it.

There are some drawbacks that you must take into consideration. First would be the lack of an internet connection. You would not want to leave someone stranded because they are on a laptop and cannot connect to the internet. Second, you have to consider the possibility of system restore, re-installation of the OS or a third party program that cleans up the computer for files it thinks is unnecessary.

I would tend to lean toward using an INI file in the installation folder and on first run of the program, generating a random number and writing it to the INI file. Send that info back as mentioned. INI files are not affected by system restore or cleanup programs. However, it has the same flaw as any other solution if the system is reinstalled (but not if the system is just repaired or even if the OS is installed side-by-side). The only vulnerability is if the person is smart enough to check out the contents of INI files in the location that your software is installed.

There are lots of possibilities and each one has drawbacks. One problem I have with software is the ones that go to such great lengths to prevent pirating end up making the software extremely difficult to install or ends up with quirks like not starting up correctly every time. And problems like those are the easiest way to make people run away from your software. Think carefully about your choices and do lots of testing.


#include <ByteMe.au3>

Share this post


Link to post
Share on other sites

Maybe this'll be of some help,


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites

thanks for the replies,

But i think this is too complicated for me right now :unsure:

@somdcomputerguy: i encountered that topic aswell...allthough i don't really get it how to make it work.

Above all: i'm searching just some kind of license, i don't need all that paypal stuff.

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

i found this: alltough i don't know how it works :unsure:

Keygenerator works, but how can i use those generated codes in my advantage?

EDIT: this programm i'm making, will just be spread amoung a few people :>

So is their anyway to just give everyone a personal password.

Like:

He start the programm: unlocks it with a serial code

From now on he doesn't has to input it anymore and it's free to use as long as he wants

But if he spreads it to someone else, than the programm just doesn't work anymore and the serialcode he was given doesn't work either

I'm just trying to find something simple, without webconnectivity

this also seems to be interesting:

I would tend to lean toward using an INI file in the installation folder and on first run of the program, generating a random number and writing it to the INI file. Send that info back as mentioned. INI files are not affected by system restore or cleanup programs. However, it has the same flaw as any other solution if the system is reinstalled (but not if the system is just repaired or even if the OS is installed side-by-side). The only vulnerability is if the person is smart enough to check out the contents of INI files in the location that your software is installed.

Yeah this seems an excellent idea ;)... I've did this

_GenerateSerialNumber()
Func _GenerateSerialNumber()
    $Characters = StringSplit("ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789", "")
    $SerialNumber = ""
    For $X = 1 To 5
        For $I = 1 To 5
            $SerialNumber &= $Characters[Random(1, 35, 1)]
        Next
        If $X <> 5 Then $SerialNumber &= "-"
        Next
        IniWrite("C:\Users\Computername\desktop\Keygen.ini", "section2", "Pass", $SerialNumber)
    Return $SerialNumber
EndFunc

This is the serialkeygenerator, i'm working on the recieving part now. But how can i make it to just let this run on the 1st time the programm runs, and not everytime?

Edited by Qsert18

Share this post


Link to post
Share on other sites

If they are local to you

Go and install the program for them and hide an ini file or something like that on their system so the program looks for the file before it starts.

Or make a fake .dll etc etc and set the file to hidden then even if they pass the program it wont work without the hidden file.

failing that make some fake system checker under the pretense you want to make sure their system is capable and have it install the hidden file when they run it, make it self delete after then just give them the program.

Nothings perfect but just some ideas

Chimaera

Share this post


Link to post
Share on other sites

if the users is off line is a problem, but if he is online you can send to you some data about the PC witch is using the soft and do a check if that user has the permision to use yourt software...

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

But how can i make it to just let this run on the 1st time the program runs, and not every time?

Have your program check if a 'first run' key is in the INI. If it isn't, write one into it. If it is, the program has run at least once before. Of course, do whatever you want based on whether the key is or isn't in there.

Edited by somdcomputerguy

- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites

They're not local to me ... That's why i can't trust them for 100% ^^

Well this is clearly above my level, i tried all sorts of things but can't get them to work.

i'm just going to ask them to run the 1st thing i posted so i get their serial number than implement the 2nd code in my .exe file...

So it's bound for 100% sure.

Now i just have to fix the "decompiling problem"...i heard it can be done easily :unsure:

but i've read this:

Tidy does what its name kinda reveals: It tidies the source code.

Obfuscator makes it harder to read.

Other than that the is no way to make your exe secure... fullstop...

is it true? and is obfuscator the best thing i can get in order to avoid most of the people who try to decompile it :>

Share this post


Link to post
Share on other sites

and is obfuscator the best thing i can get in order to avoid most of the people who try to decompile it :unsure:

You can try this, AutoIt3Camo - 16.2b


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites

Protection is never 100%

Someone who has the time and the will to find out how it was done will get there in the end no matter what you do

Hence

Other than that the is no way to make your exe secure... fullstop...

Share this post


Link to post
Share on other sites

oké thanks again for all those replies, i'm going to check this "AutoIt3Camo - 16.2b" now ^^.

And the c-drive serial was a good idea, since it will be spread on a small-base...

Share this post


Link to post
Share on other sites

You'll never stop a determined cracker. I have in the past used a simple system where I take the name of the purchaser of the program, do some math to scramble it, and generate a numeric key. Both the name and the key are stored in hidden registry keys, and naturally must match. Yes, anybody can give a friend the key, but the program displays the registered user's name, and I'm going on the assumption that most people won't want a program branded with their name spread all over the place.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0