6

我已经广泛搜索了一种将我的 .hta 文件(和资源)编译为 .exe 文件的方法。

有很多应用程序声称能够做到这一点——但它们不适用于这个应用程序——它是 javascript 和 VB 的混合体。

简单地说,(而且天真地)我不希望人们查看/搞乱代码。任何建议或解决方案将不胜感激。

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

4

6 回答 6

3

尝试使用VBSedit,它绝对适用于将 vbs 和 hta 转换为 exe

于 2010-12-12T09:40:35.803 回答
3

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

于 2012-03-22T15:18:15.223 回答
2

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

最简单的方法(听起来像 ExeScript)是先简单地提取 HTA/资源,然后执行它们。理论上可以通过将数据注入正在运行的 IE 上下文中来在没有临时文件的情况下执行此操作,但任务变得更加困难。内部 JS 可能会或可能不会被混淆,并且包装器可能会或可能不会添加额外的混淆/“加密”层。(PayMo,我相信还有其他的,使用包装的上下文方法来分发单个可运行的 exe)。

如果保护“知识产权”是目标,请聘请一位优秀的律师 :-)

于 2010-10-21T02:18:27.843 回答
1

我不确定是否要编译为 exe - 但如果你缩小和混淆你的源代码,除非你有一些非常有价值的东西,否则逆向工程将是一项艰巨的工作。

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

祝你好运。

于 2010-10-20T15:56:53.200 回答
1

你不需要编译器,你需要一个加密器/解密器,比如我的项目(正在建设中),CFS 项目(Cryptographica File Security)。

于 2013-07-04T21:30:00.693 回答
0

我的线索是为 HTA 创建动态生成的 VBScript 或 JScript 文件。所以你编译的不是 HTA,而是脚本。这种方法比打包到 SFX 的 HTA 更能满足您的安全要求。

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

请注意,Window_OnLoad()由于将内容推送到已加载的窗口,可能无法正常工作。

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

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

UPD:这是链接中准备好的脚本示例。

于 2014-08-29T15:15:44.820 回答