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