2014-04-26 81 views
1

我有一个简单的启动我的程序:编译一个批处理文件到一个exe

@echo off 
del /s /f /q "Log.txt" 
for /f "delims=" %%x in (lic.dll) do set "lic=%%x" 
if %lic%==1 goto full 
if %lic%==0 goto normal 
goto fail 
:full 
start m1.hta 
rem Hideself 
goto fail 
:normal 
start m2.hta 
rem Hideself 
goto fail 
:fail 
goto :eof 

当我的病毒扫描它,我得到这个:https://www.virustotal.com/en/file/4091db406700b751ab4b01df901a4992226235abc16b87adb047911e0e256b08/analysis/1398529283/

说,该文件是干净的。当我将它编译为exe时,出现了问题。

如果我使用advanced bat to exe converter要转换我得到这个:https://www.virustotal.com/en/file/ab3bac03bcdd6aa1305764a1f64e77e651522246c2d7abbd1da427d76604ec2e/analysis/

这只是编译同一批次的文件,它来了作为一个病毒是一个现实问题。所以我决定寻找一个不同的蝙蝠exe程序。我得到了类似的结果。

我的问题是:任何一个以太可以帮我找到一个解决方案或我可以使用的替代软件。它必须能够将上面的代码编译成一个病毒检测小于4的exe文件。它也必须是安全的(不能容易地被逆向生成或解压缩)。这是一个一直在进行的问题,可能会阻止程序的发布,所以无论谁设法帮助我也会奖励50名代表作为额外的奖励。

回答

1

使用的AutoIt Fileinstall功能我得到一个五十一分之五

https://www.virustotal.com/pt/file/b3241a6458469908db157a211fcff66c240f4872bd0feaaea15dce5dff98632f/analysis/1398538044/

这是我试过的代码:

FileInstall("C:\PROGRAMMATION\test.bat",@ScriptDir&"\test.bat") 
RunWait(@ComSpec & " /c " & "test.bat") 
FileDelete(@scriptdir&"\test.bat") 

此代码被编译为stephen.exe。

+0

看起来不错,但我有一个问题。我已将'C:\ PROGRAMMATION \ test.bat'更改为'C:\ Users \ 09stephenb \ Desktop \ LanuchGUI.bat',但是当我编译它时,我得到'错误:无法验证二进制完整性。你知道如何解决这个问题。谢谢。 – 09stephenb

+0

只需编译脚本,即可下载最新版本的Autoit或尝试停用您的Avast。 – SachaDee

+0

我刚刚从网站上下载了最新版本的auto,它不是avast,因为我使用我的虚拟机,而且这个讲解员有avast。你使用什么版本的autoit。我刚才注意到它在运行时工作,但它不会让我编译它。 – 09stephenb

1

任何bat-to-exe编译器都可以绕过并查看代码,因为它们都将代码提取到一个临时文件,并且可以对其进行跟踪。

您可以安装PureBasic /另一个BASIC方言的试用版,并将代码编写为基本代码,然后进行真实编译。

+0

Ar这只是发射器。我有一个3000行批处理文件的程序和重写将需要很长时间。 – 09stephenb

1

VBScript to exe很容易,除了已有的东西外,不需要任何软件。 http://social.msdn.microsoft.com/Forums/en-US/adcae113-4758-481a-a367-60d5d14d97d6/this-is-how-to-turn-vbs-and-js-files-into-exe-files-from-the-command-line-without-third-party-tools?forum=scripting

与VBScript不同,批处理文件由exe运行。上述技术将无法使用。

将命令提示符命令放入括号中可以使您在功能上几乎成批。 EG

echo off 
echo Hello 

成为

(echo off 
echo hello) 

你可以粘贴/发送键(两者的VBScript)/发送邮件(vb.net)这一个隐藏的命令提示符。这是如何在vbscript中启动隐藏的命令提示符。

CreateObject("Wscript.Shell").Run "cmd /k", 0, False 

无论您使用临时文件还是以某种其他方式发送命令,都可以使用iexpress制作您的exe文件。在启动类型 - 运行

iexpress 

EG为您启动蝙蝠你可以(注1表示正常,0隐藏)

Set fso = CreateObject("Scripting.FileSystemObject") 
Set ts = fso.OpenTextFile("lic.dll", 8, true) 
If ts.readline = 0 then 
    CreateObject("Wscript.Shell").Run "cmd /k hta1.hta", 1, False 
Else 
    CreateObject("Wscript.Shell").Run "cmd /k hta2.hta", 1, False 
End if 
+0

你也可以使用已安装的vb.net(vbscript 99%在vb.net中工作 - 你只需要添加一个顶部和底部的行并添加一些括号),并使用API​​调用将命令提供到cmd的缓冲区。请参阅http://stackoverflow.com/questions/1859323/net-inject-data-into-input-buffer-of-process –

+0

也使用此属性写入文件FILE_ATTRIBUTE_TEMPORARY文件正在用于临时存储。如果有足够的高速缓存可用,文件系统可避免将数据写回大容量存储器,因为应用程序在句柄关闭后会删除临时文件。在这种情况下,系统可以完全避免写入数据。否则,数据在句柄关闭后写入。 –

+0

无论您使用临时文件还是以其他方式发送命令,您都可以使用iexpress制作您的exe文件。键入开始 - 运行 iexpress –

0

尝试此批处理脚本的开发环境Batch Compiler。它拥有开发批处理程序所需的一切。并编译成稳定的独立可执行文件(Exe)。

Friendly user interface. 
Debugger, Check your code for syntax errors. 
Powerful, versatile compiler. 
Allows mouse input in batch files. 
Use Windows Common Dialog Boxes.(BrowseFiles,BrowseFolders) 
Draw graphics in batch files. 
Reverse engineering proof encryption of source code. 
Include Company name, Copyright info and Version info. 
Make invisible(silent) executables. 
Executables with administrator privileges. 
Run & debug your script while editing. 
Embed resources with executable.(music,images,files) 
Advance Commands (BrowseFiles,LaunchSilent,MouseCMD) 
Stand-alone executables.No dependencies needed. 
Executables are woking on almost all windows operating systems.(98 to 10) 

快速下载:http://bc.gotek.info/files/BatchCompiler1600.zip

干杯!

相关问题