Qsert18 Posted May 21, 2011 Share Posted May 21, 2011 (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 May 21, 2011 by Qsert18 Link to comment Share on other sites More sharing options...
sleepydvdr Posted May 22, 2011 Share Posted May 22, 2011 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> Link to comment Share on other sites More sharing options...
somdcomputerguy Posted May 22, 2011 Share Posted May 22, 2011 Maybe this'll be of some help, - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change. Link to comment Share on other sites More sharing options...
JohnOne Posted May 22, 2011 Share Posted May 22, 2011 Or if you cannot trust your 'friend', then tell him to send you his drive id. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Qsert18 Posted May 22, 2011 Author Share Posted May 22, 2011 thanks for the replies, But i think this is too complicated for me right now @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. Link to comment Share on other sites More sharing options...
Qsert18 Posted May 22, 2011 Author Share Posted May 22, 2011 (edited) i found this: alltough i don't know how it works 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 May 22, 2011 by Qsert18 Link to comment Share on other sites More sharing options...
Chimaera Posted May 22, 2011 Share Posted May 22, 2011 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 If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
monoscout999 Posted May 22, 2011 Share Posted May 22, 2011 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... Link to comment Share on other sites More sharing options...
somdcomputerguy Posted May 22, 2011 Share Posted May 22, 2011 (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 May 22, 2011 by somdcomputerguy - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change. Link to comment Share on other sites More sharing options...
Qsert18 Posted May 22, 2011 Author Share Posted May 22, 2011 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 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 Link to comment Share on other sites More sharing options...
somdcomputerguy Posted May 22, 2011 Share Posted May 22, 2011 and is obfuscator the best thing i can get in order to avoid most of the people who try to decompile it You can try this, AutoIt3Camo - 16.2b - Bruce /*somdcomputerguy */ If you change the way you look at things, the things you look at change. Link to comment Share on other sites More sharing options...
Chimaera Posted May 22, 2011 Share Posted May 22, 2011 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 doHenceOther than that the is no way to make your exe secure... fullstop... If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
Qsert18 Posted May 23, 2011 Author Share Posted May 23, 2011 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... Link to comment Share on other sites More sharing options...
Dana Posted May 23, 2011 Share Posted May 23, 2011 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now