russell Posted July 12, 2011 Posted July 12, 2011 Ok so iv played around and now im about to write a big script. I want to post it on my best-friends web site for others to download however the twist is this: Usage will be subscription based (monthly) and only able to run on 1 pc per user. I thought at first having the script check an SQL database on the website server but anyone could just set there own or (pirated) SQL server up and do a loop-back. I understand ounce i put this out there, i cant pull it back so i want it to be right the first time. Been racking my brain but the best i can come up with is it login to a Forums board i host on the same server and stay logged in. But hmm could they not just do a loop-back again? Any help or guidance is much appreciated. muppet hands are so soft :)
smartee Posted July 12, 2011 Posted July 12, 2011 hi russell, Umm, this may break your heart, but it will be VERY difficult to secure your program. Interpreted languages, such as AutoIt, while a delight to work with, are inherently insecure. That doesn't mean don't try to secure your script, I'm just saying don't dispose too much energy doing so, for those so motivated will likely succeed anyway. Remember, do NOT include sensitive data such as passwords in your script. Umm, also, search the forums, there are a numbers of posts of this nature that may offer you another perspective. Regards, -smartee
water Posted July 12, 2011 Posted July 12, 2011 The only thing that comes to my mind is in the example scripts section. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Tomoya Posted July 12, 2011 Posted July 12, 2011 (edited) I got this function from somewhere around the autoit forums and was going to try to use it to write the ID I was getting from it to a file on the server and then check it everytime the program was run. Func _HWID() $osdrive = StringLeft(@SystemDir, 3) $original = "0"&@CPUArch & @KBLayout & DriveGetSerial("C:\") & StringUpper(DriveGetType($osdrive)) & DriveSpaceTotal ($osdrive) $string2 = StringMid($original, Round(StringLen($original)/2), Round(StringLen($original)/2)) $string2_mod = _StringToHex(_StringReverse($string2)) $original = _StringEncrypt(1, $original, $string2_mod, 4) Return $original EndFunc Post back if you happen to get any ideas. I'm doing the same in a ever search to secure the program I made. Like others have said though it seems like who ever wants the program and trys hard enough can get it, but then you have to think of if they were that willing to not pay for it they were not going to subscribe to your service anyway. Like downloading movies, just cause I downloaded the movie does not mean you lost a sale because I still would not have paid to see it because I just don't have money to pay 9$ for a film. I will keep checking this topic. Good luck! Edited July 12, 2011 by Tomoya
russell Posted July 12, 2011 Author Posted July 12, 2011 All of you, good ideas. It will take some trial and error with each suggestion but the XproTec deff has my attention. I know that all programs are crackable, other wise there wouldn't be Windows loaders and keygens for some of the biggest software. I believe the extremely low price i set on the program will spark the idea that it just alot less time (since time is money , cheap too) to just buy it than try and crack it. But like myself, a few attempts are made in the begging and if i fail and like it i end up purchasing it. Mainly im afraid that someone will get a subscription then had it to a friend or try and run it on several pcs. But seriously i hope this thread stays alive and we all benefit from it. muppet hands are so soft :)
russell Posted July 12, 2011 Author Posted July 12, 2011 I keep getting syntax errors _StringReverse(): undefined function. _StringToHex(): undefined function. _StringEncrypt(): undefined function. when checking this. Any suggestions? I got this function from somewhere around the autoit forums and was going to try to use it to write the ID I was getting from it to a file on the server and then check it everytime the program was run. Func _HWID() $osdrive = StringLeft(@SystemDir, 3) $original = "0"&@CPUArch & @KBLayout & DriveGetSerial("C:\") & StringUpper(DriveGetType($osdrive)) & DriveSpaceTotal ($osdrive) $string2 = StringMid($original, Round(StringLen($original)/2), Round(StringLen($original)/2)) $string2_mod = _StringToHex(_StringReverse($string2)) $original = _StringEncrypt(1, $original, $string2_mod, 4) Return $original EndFunc Post back if you happen to get any ideas. I'm doing the same in a ever search to secure the program I made. Like others have said though it seems like who ever wants the program and trys hard enough can get it, but then you have to think of if they were that willing to not pay for it they were not going to subscribe to your service anyway. Like downloading movies, just cause I downloaded the movie does not mean you lost a sale because I still would not have paid to see it because I just don't have money to pay 9$ for a film. I will keep checking this topic. Good luck! muppet hands are so soft :)
Moderators Melba23 Posted July 12, 2011 Moderators Posted July 12, 2011 russell,If you look at the pages in the Help file dealing with those functions, you will see that you need the String.au3 include file - add this at the top of your script:#Include <String.au3>Useful thing that Help file. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Tomoya Posted July 12, 2011 Posted July 12, 2011 (edited) russell, If you look at the pages in the Help file dealing with those functions, you will see that you need the String.au3 include file - add this at the top of your script: #Include <String.au3> Useful thing that Help file. M23 This is correct. My fault for not adding the #include to it. Slipped my mind. Just to give you a future note a "Undefined Function" error means that you are almost always missing a #Include at the top of your script. >< You can use a MsgBox to display the hwid to make sure it works. I did it a few times after restarting the computer / the program and it seemed to generate the same number. My only problem is that I cant figure out how to go about saving it to the server so it can be later read. Edited July 12, 2011 by Tomoya
russell Posted July 16, 2011 Author Posted July 16, 2011 (edited) It seems that XProTec has the [ Func _HWID() $osdrive = StringLeft(@SystemDir, 3) $original = "0"&@CPUArch & @KBLayout & DriveGetSerial("C:\") & StringUpper(DriveGetType($osdrive)) & DriveSpaceTotal ($osdrive) $string2 = StringMid($original, Round(StringLen($original)/2), Round(StringLen($original)/2)) $string2_mod = _StringToHex(_StringReverse($string2)) $original = _StringEncrypt(1, $original, $string2_mod, 4) Return $original EndFunc built into it. Edited July 16, 2011 by russell muppet hands are so soft :)
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