Queener Posted July 18, 2013 Share Posted July 18, 2013 Not sure if this is how you really phrase it (Self Destruction), but was wondering if it's possible to code it to allow user to use the executable file 3 times only. If the 3rd time reached, the executable no longer works. Even if the executable is transferred to another computer, it won't work if the 3rd tries is attempted. From what I can see and what I might be facing is, the executable has to at least identify the pc, write a note/reg to know how many times it tried. But this method if transferred to another computer; it counts from 0 again. So I would assuming a server-sided would need to get involve. The executable file will need to be assigned with a unique id or serial number. Once it verified with the server of how many attempts it did; it will then lock the executable. If anybody know of a better way or simplier ways; let me know. So for example on how I want this code to be [security count open] [if opened count =< 3 then] [run the given commands/code] [else] [mgs "3rd time attempt has reached"] [exit] Msgbox(0, "Hate", "Just hate it when I post a question and find my own answer after a couple tries. But if I don't post the question, I can't seem to resolve it at all.") Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 18, 2013 Share Posted July 18, 2013 (edited) Hmmm, interesting. Ok here is my idea: $sPassword = "password" $i = 0 While 1 $sCheckPass = InputBox("MyTool", "Please enter the password:", "", "*") If Not StringInStr($sCheckPass, $sPassword) Then $i += 1 If $i >= 3 Then Run("DestroyScript.exe " & @ScriptFullPath & " password") Exit EndIf ContinueLoop EndIf ExitLoop WEnd DestroyScript.exe: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseUpx=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <Crypt.au3> If $CmdLine[0] < 1 Then ConsoleWrite(@ScriptName & @CRLF & "Usage:" & @CRLF & @ScriptName & " <full path to file> <password>" & @CRLF) Exit EndIf DestroyScript() Func DestroyScript() $sFileToDestroy = $CmdLine[1] $sPassword = _Crypt_DeriveKey($CmdLine[2], $CALG_AES_256) If ProcessExists($sFileToDestroy) Then ProcessClose($sFileToDestroy) _Crypt_EncryptFile($sFileToDestroy, $sFileToDestroy & ".enc", $sPassword, $CALG_AES_256) FileDelete($sFileToDestroy) FileMove($sFileToDestroy & ".enc", $sFileToDestroy) EndFunc Edited July 18, 2013 by 0xdefea7 Link to comment Share on other sites More sharing options...
JohnOne Posted July 18, 2013 Share Posted July 18, 2013 I think that sort of thing is futile, and akin to trying to protect code from prying eyes. I'd just zip the file up first and clean registry if I wanted to use it again. 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...
Moderators Solution JLogan3o13 Posted July 19, 2013 Moderators Solution Share Posted July 19, 2013 (edited) I would agree with JohnOne on this one. Nice example from 0xdefea7, but if you want a robust solution you're going to have to do something external to the system - registry entries, ini files, Event Viewer entries, all can be tracked down and deleted. I have not used it personally, but have heard Valuater's XProTec suggested before, might be something to look into: '?do=embed' frameborder='0' data-embedContent>> Edited July 19, 2013 by JLogan3o13 "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
Queener Posted July 19, 2013 Author Share Posted July 19, 2013 (edited) very useful 0xdefea7 and JLogan3o13 info. Interesting; didn't know XProTec exist. Thanks for the info Edited July 19, 2013 by asianqueen Msgbox(0, "Hate", "Just hate it when I post a question and find my own answer after a couple tries. But if I don't post the question, I can't seem to resolve it at all.") 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