1
Mithril 360 天前
最简单的,你就直接自己用 C++,Go ,C#等语言写个简单的命令行程序,然后在里面硬编码把脚本写成字符串,做个系统调用,用 cmd 执行那个字符串,或者用输入流塞进去执行就行了。
不想每次都硬编码的话,可以让它编译到 resource 里。 |
2
nikenidage1 360 天前
是的,C#写一个最简单了
|
3
mmdsun 360 天前 6
windows 自带一个简单的工具。按 Win 键+ R 打开运行,输入 iexpress 回车。
或者任意一个 windows 的开发框架,winform 、wpf 。 https://learn.microsoft.com/zh-cn/windows/apps/desktop/ visual studio 编译完成之后就有 exe 了 https://learn.microsoft.com/zh-cn/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-7.0 |
4
wafm 360 天前
易语言
|
5
ysc3839 360 天前 via Android 1
市面上 bat2exe 似乎都是写到某个位置然后用系统的 cmd.exe 运行。要完全不释放文件的话,系统的 cmd.exe 没有提供这样的功能,所以不能实现。
另外建议说说原始需求。 |
7
vibbow 360 天前
winrar 打包一下?
|
8
kokutou 360 天前 via Android
bat 封装还是可以看到源码的,转 exe 没意义。。。
不如 winrar 自解压。 |
9
lzz2394677796 360 天前
Bat To Exe Converter v3.2.exe
|
10
Golor 360 天前
bat to exe converter ,用过这个,还挺不错的。
|
11
iorilu 360 天前
啥意思, bat 也可以双击执行啊
又没界面, 转成 exe 有什么用, 难道你那代码很特别还想隐藏吗 |
12
pan020037 360 天前
如果是自用的话, 转 exe 你还不如转服务
|
13
proxytoworld 360 天前
@iorilu 他想 drop 到别的地方呗,反正大概率不是啥好用处
|
14
opengps 360 天前
命令作为文本,编译进 windows form 程序里
|
15
CoronaZero 360 天前 via Android
用压缩软件的自解压格式好像可以做到?好像可以设置解压后自动运行之类的。
|
16
sakura6264 360 天前
c 语言 system 函数?
|
17
shyangs 360 天前
這可能是個「 X-Y 問題」。
為什麼 要 .bat to .exe ? OP 的最原始需求/問題/情境是啥? |
18
c2const 360 天前
1.只需要简单打包,市面上很多,基本都是包装器,甚至自己花点时间写个也可以,chatGPT 也可以写;基本原理就是把 bat 脚本作为文件,释放到硬盘,然后调用执行,最后删除文件;
2.C 系语言写个命令行程序,调用 cmd 或者创建 cmd 进程,再把 bat 的命令依次执行,好处是硬盘无文件,全在内存,坏处是 bat 脚本复杂可能不能直接照搬,得改改,兼容性不好; 3.偏安全向的技术,自己解析 PE 文件格式,内存加载 cmd.exe 这个程序再执行,bat 文件内容也只在内存,实现参考 github 上的 Blackbone 库,早期灰黑产业用得多; |
19
c2const 360 天前
4.bat 脚本不复杂,还可以让 chatGPT 帮你用其它语言重写,再编译或 AOT 编译到 EXE 。
|
20
winterbells 360 天前
几年前收藏了一个 Bat_To_Exe_Converter
|
21
zgcwkj 360 天前
没记错的话,直接改后缀也是能正常打开的
|
22
huage OP @shyangs
@iorilu @winterbells 就是不希望别人能够拿到这个文件去执行,转成 exe 后,需要输入正确的验证码才能执行。要求这个 exe 不能被反编译和释放出隐藏的 bat 文件。 |
23
cnbatch 359 天前
如果 bat 内容不多,不如索性换语言改写,编译成 exe
|
24
huage OP @winterbells win10 、11 可以正常使用吗?
|
25
redsun368573607 359 天前
我还以为这个问题是二十年前问的
|
26
yulon 359 天前
你用 bat ,怎么都要用 cmd.exe 吧,我直接 hook cmd.exe ,你什么加密都没用。
就算你要把所有 bat 里的命令都编译成 native 代码,bat 的内容不外乎就是启动其他的 exe ,那我 hook 你创建进程,还是能知道你在干什么。 最正经的就是用编程语言重写,不要调用任何其他进程,但是太简单的照样会被反编译,只是你可以加个壳。 |
28
benjaminliangcom 359 天前
即使你用 c 等调用 system 函数,依然可以用 process mobitor 拿到子进程的命令行,只有直接调用底层 api 才比较难解
|
29
letmedie 359 天前
你这个要求就算是转成 exe 又如何,直接 nop 掉验证强行 jmp 到执行入口还不是能绕过验证码,如果价值够高,就算 vmp 壳也会被干掉的,二进制安全只不过现在讨论的地方比较少而已。
|
30
letmedie 359 天前
如上面几位说的一样,用编程语言实现,然后加个强壳,只要不是价值过高,一般没人有兴趣去 crack 你的 exe 的。
|