acidman Posted February 21, 2013 Share Posted February 21, 2013 @ JohnOneI totally agree with you. One shouldn't make it inconvinient for the client, perhaps this idea could work.1. Generate a random serial key2. Convert that serial key to some other random string, let's say for instance a binary String3.Write the binary value to the registery4. Encrypt the binary String with your own type of algorithm - then store it in a variable for the time being5. Let the user contact you, with his randomly generated binary converted number.6.Then convert the string with what ever algorithm you have(must be the same as the app's).7. Let your program do the string matching, match the stored encrypted string with your encrypted string.Then if a match blah, blah, blah if not then exit or whateverI suggest calling the random serial generation everytime if your app isnt activated until upon activation.Just an idea... [u]My dream is to have a dream...[/u] Link to comment Share on other sites More sharing options...
Raik Posted October 29, 2013 Share Posted October 29, 2013 The serial will not be "crypted". For better understanding i want to point out the difference between "encrypting" and "hashing". The size of encrypted data depends on the size of the data, and it can be decrypted. The size of a hash is independent from size of the data, it has a static size, and it is impossible, to get the data back from a hash., because hashing is a lossy procedure, it is a checksum. That's important for the understanding of the example, because a hashed serial cant be reverse calculated, only brute forced. This way it is possible, to deliver the (demo-,shareware-)main-program to everybody and deliver the additional fullversion-functions "personalized" (encrypted with the calculated hash, not the registry-value) to each customer as an extra module. AutoIt-Syntaxsheme for Proton & Phase5 * Firefox Addons by me (resizable Textarea 0.1d) (docked JS-Console 0.1.1) Link to comment Share on other sites More sharing options...
EmilyLove Posted August 12, 2015 Share Posted August 12, 2015 Typo in the comments of your example code. Here http://prntscr.com/83ya4r and Here http://prntscr.com/83yaqrseial needs to become serial JohnOne 1 Link to comment Share on other sites More sharing options...
BrewManNH Posted August 13, 2015 Share Posted August 13, 2015 No need to take screenshots of the code, just copy/paste it on here. Pictures of code is just weird. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
EmilyLove Posted August 23, 2015 Share Posted August 23, 2015 No need to take screenshots of the code, just copy/paste it on here. Pictures of code is just weird.It was so the OP could easily find the typos. Link to comment Share on other sites More sharing options...
Deye Posted March 25, 2016 Share Posted March 25, 2016 (edited) check out: "everything-you-need-to-know-about-registration-systems" http://www.kalzumeus.com/2006/09/05/everything-you-need-to-know-about-registration-systems/ if one is interested in a pay system with paypal : look into both IPN https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/ and PDT and here is help creating a listener for IPN messages http://www.geekality.net/2011/05/28/php-tutorial-paypal-instant-payment-notification-ipn/ the activating key could be _WinAPI_UniqueHardwareID() for the first field of the key, dash the "transaction id" generated on the server side keeping the information https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/#id08CKFJ00JYK and generated key under a database folder per purchase the user would register! re-entering the key..(In-case of any changes in the user's computer environment) if the key doesn't decode as valid (in HardwareID or information-Ids) , a "verify" form shows up with input for email address and placed key asking the user to verify the information The user then chooses to verify\re-activate, his new UniqueHardwareID and information are sent to the server which again validates the information generating a new key sent back by email. I would keep out anything that tries to detect if the user is manipulating the system in any way, just to keep things simple "with loose ends". creating such a system will be easier for someone who's got basic php .etc scripting and server-side handling experience. * would be nice if some one posts a startup platform with basic scripts needed to start trying this out .. Peace Out Edited March 25, 2016 by Deye Link to comment Share on other sites More sharing options...
olmanRvr Posted October 19, 2016 Share Posted October 19, 2016 Hi Everybody, I think the manufacturer's HDD Serial is good for this scenario ,it is unique & stable.The script below fetches the physical HD sr.num.The idea is 1)to upload the Sr.num to the server.2)Then include this script(gtSrNo()) a the start of the script-to-protect(main script) & call it before running the main script.3)Check its return value(the serial num) against the one saved at the server. Question: Can the Sr num be uploaded to server from client? Can it be matched against the Sr num generated each time the script is run by the client? I will be very very thankful if some one can help out. cheers olmar Func gtSrNo() $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $Output="" $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $oItm In $colItems $strPowerManagementCapabilities = $oItm.PowerManagementCapabilities(0) $Output = $Output & $oItm.SerialNumber & @CRLF Next Else Msgbox(0,"WMI Output","Pl No WMI Objects Found for class: " & "Win32_DiskDrive" ) Endif ConsoleWrite("The serial ni is "&$Output&@CRLF) Return $Output EndFunc gtSrNo() 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