Скомпилировать.hta файл.исполняемый
Я искал повсюду способ скомпилировать мой .hta-файл (и ресурсы) в a .файл EXE.
есть много приложений, которые утверждают, что могут это сделать, но они не работали для этого приложения, которое представляет собой смесь javascript и VB.
просто, (и наивно,) я не хочу, чтобы люди смотрели / трахались с кодом. Любые предложения или решения были бы весьма признательны.
EDIT: конечно, я понимаю, что javascript и VB не являются "компилируемыми", поскольку они интерпретируются языками. Я просто ищу способ по-настоящему скрыть источник.
6 ответов
вы можете "скомпилировать в exe", просто обернув HTA в исполняемый файл, который знает, как настроить контекст/окно HTA.
самый тривиальный подход (который звучит как ExeScript) заключается в том, чтобы сначала извлечь HTA/ресурсы, а затем выполнить их. Теоретически это можно сделать без временных файлов, введя данные в запущенный контекст IE, но задача становится более сложной. Внутренний JS может или не может быть запутан, и оболочка может или не может добавить дополнительный уровень запутывания / "шифрование". (PayMo, и я уверен, что есть и другие, использует обернутый контекстный подход для распространения одного запускаемого exe).
Если целью является защита "интеллектуальной собственности", наймите хорошего адвоката :-)
HTAEdit, который поставляется в комплекте с VBSedit, действительно не скрывает hta-код. Во время выполнения он извлекает исходный hta-файл в подкаталог в %temp% и передает его в mshta.exe на выполнение. Преобразованный exe, созданный VBSedit, похоже, не делает этого, насколько я могу судить.
попробуйте использовать VBSedit, Он определенно работает для преобразования как vbs, так и hta в exe
Я не уверен в компиляции в exe-но если вы уменьшите и запутаете свой исходный код, если у вас нет чего-то невероятно ценного, это будет огромная работа по обратному проектированию.
http://developer.yahoo.com/yui/compressor/
удачи.
вам не нужен компилятор, вам нужен шифратор / дешифратор, например, мой проект (в стадии разработки), проект CFS (Cryptographica File Security).
мой ключ-создать файл VBScript или JScript для динамического создания HTA. Таким образом, вы компилируете не HTA, а скрипт. Этот подход отвечает вашим требованиям безопасности намного лучше, чем HTA, упакованный в SFX.
Сначала подготовьте ресурсы-импортируйте в HTA все внешние файлы: скрипты, таблицы стилей и изображения (base64-encoded), чтобы сделать ваше HTA автономным приложением. Затем создайте файл VBScript и скопируйте все содержимое HTML из HTA в строковую переменную в скрипте, замена символов новой строки и вкладки на " & vbCrLf & "
и " & vbTab & "
. Добавить код создать окно HTA динамически, .write()
эта строковая переменная в документе окна и выход из скрипта.
отметим, что Window_OnLoad()
может работать неправильно из-за нажатия содержимого в окно, которое уже было загружено.
затем просто зашифруйте завершенный VBScript в exe (используя True encrypting utility, например Primal Script 2012, ExeScript, VbsEdit или ScriptCryptor). И изменить значок с PE Исследователь.
все это займет некоторое время, но это стоит делать.
UPD: вот пример подготовленного скрипта с помощью ссылке.