Компиляция .hta файла в .exe - PullRequest
6 голосов
/ 20 октября 2010

Я искал во всем мире способ компиляции моего файла .hta (и ресурсов) в файл .exe.

Есть множество приложений, которые утверждают, что могут сделать это - но они не работали для этого приложения - который представляет собой смесь javascript и VB.

Просто, (и наивно), я не хочу, чтобы люди смотрели на код. Любые предложения или решения будут с благодарностью.

РЕДАКТИРОВАТЬ: Конечно, я понимаю, что javascript и VB не являются "компилируемыми", поскольку они являются интерпретируемыми языками. Я просто ищу способ действительно скрыть источник.

Ответы [ 6 ]

3 голосов
/ 22 марта 2012

HTAEdit, поставляемый в комплекте с VBSedit, действительно не скрывает код hta. Во время выполнения он извлекает исходный файл hta в подкаталог в% temp% и передает его в mshta.exe для выполнения. Насколько я могу судить, конвертированный exe, созданный VBSedit, похоже, не делает этого.

3 голосов
/ 12 декабря 2010

Попробуйте использовать VBSedit , он определенно работает для преобразования VBS и HTA в EXE

2 голосов
/ 21 октября 2010

Вы можете «скомпилировать в exe», просто поместив HTA в исполняемый файл, который знает, как настроить контекст / окно HTA.

Самый простой подход (который звучит как ExeScript) - сначала просто извлечь HTA / ресурсы, а затем выполнить их. Теоретически можно сделать это без временных файлов, введя данные в работающий контекст IE, но задача становится более сложной. Внутренний JS может или не может быть запутан, и оболочка может или не может добавить дополнительный уровень запутывания / «шифрования». (PayMo, и я уверен, что есть другие, использует подход с использованием обернутого контекста для распространения одного исполняемого exe-файла).

Если целью является защита "интеллектуальной собственности", наймите хорошего адвоката: -)

1 голос
/ 05 июля 2013

Вам не нужен компилятор, вам нужен шифровальщик / расшифровщик, как мой проект (в процессе разработки), проект CFS (Cryptographica File Security).

1 голос
/ 20 октября 2010

Я не уверен насчет компиляции в исполняемый файл, но если вы минимизируете и запутываете свой исходный код, если у вас нет чего-то невероятно ценного, перепроектировать его было бы огромной работой.*http://developer.yahoo.com/yui/compressor/

Удачи.

0 голосов
/ 29 августа 2014

Моя подсказка - создать файл VBScript или JScript для динамического создания HTA. Таким образом, вы компилируете не HTA, а скрипт. Этот подход намного лучше отвечает вашим требованиям безопасности, чем HTA, упакованный в SFX.

Сначала подготовьте ресурсы - импортируйте в HTA все внешние файлы: сценарии, таблицы стилей и изображения (в кодировке base64), чтобы сделать ваше приложение HTA автономным. Затем создайте, например, файл VBScript и скопируйте все содержимое HTML из HTA в строковую переменную в сценарии, заменив символы новой строки и табуляции на " & vbCrLf & " и " & vbTab & ". Добавьте код к , динамически создайте окно HTA , .write() эту строковую переменную к документу окна и выйдите из сценария.

Обратите внимание, что Window_OnLoad() может работать неправильно из-за отправки содержимого в окно, которое уже было загружено.

Затем просто зашифруйте ваш законченный VBScript в exe (используя настоящую утилиту шифрования, например, Primal Script 2012, ExeScript, VbsEdit или ScriptCryptor). И изменить значок с PE Explorer.

Все это займет некоторое время, но оно того стоит.

UPD: Вот пример подготовленного скрипта по ссылке .

...