views:

31

answers:

2

I have searched far and wide for a way to compile my .hta file (and resources) to a .exe file.

There are plenty of applications that claim to be able to do this - but they have not worked for this application - which is a mixture of javascript and VB.

Simply, (and naively,) I don't want people looking at / screwing with the code. Any suggestions or solutions would be greatly appreciated.

EDIT: Of course, I understand that javascript and VB are not "compilable" since they are interpreted languages. I am just looking for a way to truly hide the source.

A: 

I'm not sure about compiling to an exe - but if you minify & obfuscate your source code, unless you've got something incredibly valuable, it'd be a huge job to reverse-engineer.

http://developer.yahoo.com/yui/compressor/

Good luck.

Dave
I was able to "compile" to an .exe using ExeScript (http://www.hide-folder.com/overview/hf_7.html). But I caught it cheating... It says that it doesn't write anything to the HD but I found all of the source files in the user temp file while it was being run. I will try your suggestion.
fluorescentLAMP
Also, do you know if this supports not just an .hta file but also related source files? (like .js and .htm(l) etc...)
fluorescentLAMP
Dave
A: 

You can "compile to exe" by simply wrapping the HTA into an executable which knows how to setup the HTA context/window.

The most trivial approach (which sounds like ExeScript) is to simply extract the HTA/resources first and then execute them. One could theoretically do this without temporary files by injecting data into a running IE context, but the task becomes more difficult. The internal JS may or may not be obfuscated and the wrapper may or may not add an additional layer of obfuscation/"encryption". (PayMo, and I am sure there are others, uses a wrapped context approach to distribute a single runnable exe).

If protecting "intellectual property" is the goal, hire a good lawyer :-)

pst
Yeah, the good lawyer suggestion is unfortunately relevant. The software itself is less valuable than the idea behind it. It is generally easy to replicate the software. This particular API that we are using just hasn't been used in this specific way before.
fluorescentLAMP