Page 1 of 2

Enigma Protector x86: Startup Password through Command Line

Posted: Wed Jul 27, 2011 10:42 am
by Enigma
This plugin allows to pass a startup password to application through command line. The password should be passed as a first argument in command line, like "protected.exe mypass".

How it works:
1. We calculate MD5 hash of the required password using utility Hash.exe from the bin folder and files.zip
2. In the Enigma Protector we add a string with the calculated hash to the Protection Features - Protected Strings
3. In the plugin, we get a command line parameter, calculate it hash and compare this hash with the one entered in Protected Strings. If hashes are same, then continue execution, otherwise - stop execution.

So, step-by-step:
1. Copy cmdline.dll plugin to the Plugins subfolder of Enigma Protector, then start Enigma Protector
2. Calculating MD5 hash of the password we would like to use using Hash.exe utility
s1.png
3. In the Enigma Protector, create a protected string of the Binary style with the ID = 1. Fill the content of this string with the result of hash.exe
s2.png
4. In the Enigma Protector, on the panel Miscellaneous - Plugins, check the plugin "cmdline.dll"
s3.png
5. Protect the file. Try to run protected file without command line (it should not even start) and then with the password in the command line "protected.exe mypass"

Re: Enigma Protector x86: Startup Password through Command L

Posted: Wed Jul 27, 2011 12:52 pm
by Enigma
Majid, in the first post I attached Delphi 7 sources of this plugin, you may simply re-compile it yourself, with any customization!

Anyway, attached here plugin does not show any message, so you may use it.

Re: Enigma Protector x86: Startup Password through Command L

Posted: Thu Jul 28, 2011 3:31 pm
by Enigma
Try this plugin Majid, it accepts the latest command line parameter as password

Re: Enigma Protector x86: Startup Password through Command L

Posted: Thu Jul 28, 2011 4:04 pm
by Majid
Enigma wrote:Try this plugin Majid,
Worked! Nice, Well Done :D Can you give me the sources for this plugin please?

Re: Enigma Protector x86: Startup Password through Command L

Posted: Mon Jul 16, 2012 2:20 pm
by MrAlicard
Hmm...
Why write the: Protected String feature is not well configured!?
I tried to start it:
"C:\Users\xxxx\Documents\xxxxxx\Projects\My Operating System\Operating System\xxx\xxxx\111182\ChatServer\ChatServer_protected.exe" mypass

and

"C:\Users\xxxx\Documents\xxxxxx\Projects\My Operating System\Operating System\xxx\xxxx\111182\ChatServer\ChatServer_protected.exe" ChatServer_protected.exe mypass

Thanks in advance for your answer. :)

Re: Enigma Protector x86: Startup Password through Command L

Posted: Mon Jul 16, 2012 2:28 pm
by Enigma
Probably because you did not enter the hash of the password in Protected Strings as written in the first post. See #3 there.
Or, this protected string does not have an ID = 1.

Re: Enigma Protector x86: Startup Password through Command L

Posted: Mon Jul 16, 2012 2:35 pm
by MrAlicard
Thank you very much. :)
That's my fault. I copied the wrong code MD5.
Now work perfectly. :)

Re: Enigma Protector x86: Startup Password through Command L

Posted: Mon Jul 16, 2012 3:19 pm
by Enigma
Good to hear that, you are welcome!

Re: Enigma Protector x86: Startup Password through Command L

Posted: Tue Jul 17, 2012 2:38 pm
by MrAlicard
Hello again. :)
Now I use source files but show error message in compile:
[Fatal Error] cmdline.dpr(7): File not found: 'TntWindows.dcu'
Why do I get this error?
I'm starting Delphi developers. :P

Re: Enigma Protector x86: Startup Password through Command L

Posted: Tue Jul 17, 2012 2:58 pm
by Enigma
This depends what version of Delphi you are using, if it is Delphi 7 or older then you have to install TntControls:
http://cubicexplorer.googlecode.com/fil ... ntrols.zip

If the version of Delphi is higher, then simply remove these modules from uses, i.e. remove starting Tnt letters from each member compiler will warn you.