我是打算购买一款软件。或者有教程能够自己编译生成的话也可以:bat2exe 类程序有好几个,哪个比较靠谱?主要是需要适用于 win10 和 win11

补充一下需求:bat 脚本的话,非常容易暴露,不能加密。需要在客户机器上执行 bat 脚本上的功能,所以想转换为 exe 文件,并且加入密码功能。听说 bat2exe 之类的文件,实际上也是会释放 bat 文件,用 everything 之类的软件可以搜索到。所以还需要要求不能够被轻松反编译或者暴露 bat 原始文件。

最简单的,你就直接自己用 C++,Go ,C#等语言写个简单的命令行程序,然后在里面硬编码把脚本写成字符串,做个系统调用,用 cmd 执行那个字符串,或者用输入流塞进去执行就行了。不想每次都硬编码的话,可以让它编译到 resource 里。

是的,C#写一个最简单了

windows 自带一个简单的工具。按 Win 键+ R 打开运行,输入 iexpress 回车。或者任意一个 windows 的开发框架,winform 、wpf 。 learn.microsoft.com/zh-cn/windows/apps/desktop/visual studio 编译完成之后就有 exe 了 learn.microsoft.com/zh-cn/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-7.0

易语言

市面上 bat2exe 似乎都是写到某个位置然后用系统的 cmd.exe 运行。要完全不释放文件的话,系统的 cmd.exe 没有提供这样的功能,所以不能实现。另外建议说说原始需求。

对脚本做封装的十有八九目的不纯。要是封装 ps1 还说得过去,毕竟 ps1 无法直接运行,封装 bat 就妥妥没借口了。

winrar 打包一下?

bat 封装还是可以看到源码的,转 exe 没意义。。。不如 winrar 自解压。

Bat To Exe Converter v3.2.exe

bat to exe converter ,用过这个,还挺不错的。

啥意思, bat 也可以双击执行啊又没界面, 转成 exe 有什么用, 难道你那代码很特别还想隐藏吗

如果是自用的话, 转 exe 你还不如转服务

他想 drop 到别的地方呗,反正大概率不是啥好用处

命令作为文本,编译进 windows form 程序里

用压缩软件的自解压格式好像可以做到?好像可以设置解压后自动运行之类的。

c 语言 system 函数?

這可能是個「 X-Y 問題」。為什麼 要 .bat to .exe ? OP 的最原始需求/問題/情境是啥?

1.只需要简单打包,市面上很多,基本都是包装器,甚至自己花点时间写个也可以,chatGPT 也可以写;基本原理就是把 bat 脚本作为文件,释放到硬盘,然后调用执行,最后删除文件;2.C 系语言写个命令行程序,调用 cmd 或者创建 cmd 进程,再把 bat 的命令依次执行,好处是硬盘无文件,全在内存,坏处是 bat 脚本复杂可能不能直接照搬,得改改,兼容性不好;3.偏安全向的技术,自己解析 PE 文件格式,内存加载 cmd.exe 这个程序再执行,bat 文件内容也只在内存,实现参考 github 上的 Blackbone 库,早期灰黑产业用得多;

4.bat 脚本不复杂,还可以让 chatGPT 帮你用其它语言重写,再编译或 AOT 编译到 EXE 。

几年前收藏了一个 Bat_To_Exe_Converter

没记错的话,直接改后缀也是能正常打开的

就是不希望别人能够拿到这个文件去执行,转成 exe 后,需要输入正确的验证码才能执行。要求这个 exe 不能被反编译和释放出隐藏的 bat 文件。

如果 bat 内容不多,不如索性换语言改写,编译成 exe

win10 、11 可以正常使用吗?

我还以为这个问题是二十年前问的

你用 bat ,怎么都要用 cmd.exe 吧,我直接 hook cmd.exe ,你什么加密都没用。就算你要把所有 bat 里的命令都编译成 native 代码,bat 的内容不外乎就是启动其他的 exe ,那我 hook 你创建进程,还是能知道你在干什么。最正经的就是用编程语言重写,不要调用任何其他进程,但是太简单的照样会被反编译,只是你可以加个壳。

这种需求建议用 powershell 改写,然后随便找个 powershell 混淆工具。。。。

即使你用 c 等调用 system 函数,依然可以用 process mobitor 拿到子进程的命令行,只有直接调用底层 api 才比较难解

你这个要求就算是转成 exe 又如何,直接 nop 掉验证强行 jmp 到执行入口还不是能绕过验证码,如果价值够高,就算 vmp 壳也会被干掉的,二进制安全只不过现在讨论的地方比较少而已。

如上面几位说的一样,用编程语言实现,然后加个强壳,只要不是价值过高,一般没人有兴趣去 crack 你的 exe 的。