我已经远广泛地搜索了一种将.HTA文件(和资源)编译到.EXE文件的方法。

有很多应用程序声称能够做到这一点 - 但它们尚未为此应用程序工作 - 这是JavaScript和VB的混合物。

简而言之,(天真的)我不希望有人在看 /拧紧代码。任何建议或解决方案都将不胜感激。

编辑:当然,我知道JavaScript和VB不是“可编译”的,因为它们是解释的语言。我只是在寻找一种真正隐藏来源的方法。

有帮助吗?

解决方案

您可以通过简单地将HTA包装到知道如何设置HTA上下文/窗口的可执行文件中来“编译到EXE”。

最微不足道的方法(听起来像Excript)是首先提取HTA/资源,然后执行它们。从理论上讲,可以通过将数据注入运行的IE上下文,而无需临时文件,但是任务变得更加困难。内部JS可能会或可能不会被混淆,包装器可能会或可能不会添加其他混淆/“加密”层。 (PayMo,我敢肯定还有其他,使用包裹的上下文方法分发单个可运行的EXE)。

如果保护“知识产权”是目标,请聘请一名好律师:-)

其他提示

与VBSEDIT捆绑在一起的HTAEDIT并未真正隐藏HTA代码。在运行时,它将原始的HTA文件提取到%temp%的子目录中,并将其传递给mshta.exe进行执行。据我所知,VBSEDIT创建的转换后的EXE似乎并没有做到这一点。

尝试使用 vbsedit, ,它绝对可用于将VBS和HTA转换为EXE

我不确定要编译到EXE时 - 但是,如果您缩小和混淆源代码,除非您有一些非常有价值的东西,否则反向工程师将是一项巨大的工作。

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

祝你好运。

您不需要编译器,您需要一个加密人/解密器,例如我的项目(正在构建),CFS项目(Cryptographica File Security)。

我的线索是创建VBScript或JScript文件,以使HTA动态产生。因此,您不是编译HTA,而是脚本。这种方法比打包到SFX的HTA更好地满足您的安全要求。

首先准备资源 - 导入HTA所有外部文件:脚本,样式表和图像(基本64编码),以使您的HTA独立应用程序。然后创建例如VBScript文件,然后将所有HTML内容从您的HTA复制到脚本中的字符串变量,将新行和选项卡符号替换为 " & vbCrLf & "" & vbTab & ". 。将代码添加到 动态创建HTA窗口, .write() 该字符串变量是窗口文档的变量,并退出脚本。

注意 Window_OnLoad() 由于将内容推向窗口,因此可能无法正常工作。

然后,只需将完成的VBScript加密到EXE(使用真正的加密实用程序,例如Primal Script 2012,ExeScript,vbSedit或ScriptCryptor)。并使用PE Explorer更改图标。

所有这些都需要一些时间,但值得做。

upd:这是一个准备脚本的示例 关联.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top