微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将batch file转换为exes

我想知道是否有可能使用C ++将batch file转换为可执行文件我有很多batch file在这里,我想将它们转换为可执行文件(主要是混淆代码)。 我明白,有第三方工具可以做到这一点,但我认为这将是一个编程项目的好机会。

我不确定从哪里开始。 我是否需要编写某种parsing器或某种东西?

batch file来分割.csv文件

批量列出不包含特定文件文件

Unix版本的Windows touch命令从文件名部分修改文件修改date

如何从.bat-(或.ps1-)脚本中找出它是否由任务调度程序启动?

Cmd:使用batch file处理%date%variables失败

您不仅仅需要一个解析器,您需要编写一个接受.BAT或.CMD文件的编译器,并输出C ++作为其“机器代码”。 我会把它作为一个“难到非常难”的项目(主要是因为输入语言的语法和语义),但是如果你想去做,编译器编写的确定性问题就在这里

创建一个将批处理文件存储为资源的可执行文件。 然后在执行时,从资源中获取批处理文件,将其写入磁盘并执行。 之后,删除它。

这样,甚至可以在一个可执行文件中包含多个批处理文件,并通过命令行开关触发正确的文件

这是一个典型的问题,你可以通过很长的,很难的方法解决这个问题(参见编写批处理文件的建议),或者在不到一天的时间内完成一个很好的快速解决方案。

你可以用记事本打开批处理文件并逐行复制,然后将其粘贴到C ++ .cpp文件中,并使用系统函数

的.cpp

int main() { system("Your command here"); }

不知道这是否是你想要的,但最终会创建一个可执行文件,但可能需要一些时间取决于批处理文件的大小。

这个怎么样? 我不知道它会混淆很多,但至少你不必编写自己的解析器,这可能需要一段时间:)

正如Alex所说, 编译批处理文件的最简单方法是将其存储在可执行文件的某个本地存储区中,并在运行时将其提取,执行和删除。 使用资源文件一个好主意,因为那样你就可以编译一个存根,只需要复制它,并在需要一个新的exe时替换资源的内容。 虽然anon的解决方案绝对是合理的,但似乎在这种情况下工作要比实际需要的太多。

无论如何,我实际上已经无聊了几个月,并写了这样的效果,可以在这里找到。 这没什么特别的,但应该告诉你你需要做什么。

那么有一个名为先进的BAT到EXE转换器的程序(在谷歌上看),这使得它更容易(如果我在我的笔记本电脑,那么我就知道确切的名称)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐