我已经远远地搜索了将.hta文件(和资源)编译为.exe文件的方法。
有很多应用程序声称能够做到这一点 - 但是他们没有为这个应用程序工作 - 这是javascript和VB的混合。
简单地说,(并天真地),我不希望人们看到/搞砸代码。任何建议或解决方案将不胜感激。
编辑:当然,我知道javascript和VB不是“可编译的”,因为它们是解释型语言。我只是在寻找一种真正隐藏源头的方法。
答案 0 :(得分:3)
尝试使用VBSedit,它绝对适用于将vbs和hta转换为exe
答案 1 :(得分:3)
答案 2 :(得分:2)
您可以通过简单地将HTA包装到知道如何设置HTA上下文/窗口的可执行文件中来“编译为exe”。
最简单的方法(听起来像ExeScript)是先简单地提取HTA /资源然后执行它们。通过将数据注入到正在运行的IE上下文中,理论上可以在没有临时文件的情况下执行此操作,但任务变得更加困难。内部JS可能会或可能不会被混淆,并且包装器可能会或可能不会添加额外的混淆/“加密”层。 (PayMo,我相信还有其他人,使用包装的上下文方法来分发单个runnable exe)。
如果以保护“知识产权”为目标,聘请一位优秀的律师: - )
答案 3 :(得分:1)
我不确定要编写一个exe - 但是如果你缩小&模糊你的源代码,除非你有一些非常有价值的东西,逆向工程是一项巨大的工作。
祝你好运。答案 4 :(得分:1)
你不需要编译器,你需要一个加密器/解密器,比如我的项目(正在建设中),CFS项目(Cryptographica File Security)。
答案 5 :(得分:0)
我的线索是为HTA创建VBScript或JScript文件,以便动态生成。所以你编译不是HTA,而是脚本。这种方法比安装到SFX的HTA更能满足您的安全要求。
首先准备资源 - 导入HTA所有外部文件:脚本,样式表和图像(base64编码),以制作您的HTA独立应用程序。然后创建例如VBScript文件,并将HTA中的所有HTML内容复制到脚本中的字符串变量,将新行和制表符符号替换为" & vbCrLf & "
和" & vbTab & "
。将代码添加到create HTA window dynamically,将.write()
字符串变量添加到窗口的文档中,然后退出脚本。
请注意,由于将内容推送到已加载的窗口,Window_OnLoad()
可能无法正常工作。
然后只需将已完成的VBScript加密为exe(使用真正的加密实用程序,例如Primal Script 2012,ExeScript,VbsEdit或ScriptCryptor)。并使用PE Explorer更改图标。
这一切都需要一些时间,但值得做。
UPD:以下是link准备好的脚本示例。