您无法提取用“C”或类似语言编写的可执行文件的原因是因为 C 代码被翻译成机器代码。您会丢失变量名、注释,有时甚至会丢失代码的结构方式,因为它并不总是精确的一对一翻译。使用某些工具(IDA Pro 等)可以识别代码的作用,但您永远无法取回“原始”代码。
虽然我不确定您使用的是什么 Batch-to-EXE 程序,但它们很可能像 powershell-to-exe 一样工作:脚本本身没有被翻译。相反,脚本被一个运行脚本的小程序封装。我在这里可能是错的,它实际上可能是在翻译脚本(我需要知道你使用的是什么程序)。Rob van der Woude有一个关于各种不同脚本编译器的好页面,以及一些关于批处理编译器的免责声明。我不知道任何将批处理代码转换为机器语言的方法。
您可能必须为此开发自定义解决方案。
您无法提取用“C”或类似语言编写的可执行文件的原因是因为 C 代码被翻译成机器代码。您会丢失变量名、注释,有时甚至会丢失代码的结构方式,因为它并不总是精确的一对一翻译。使用某些工具(IDA Pro 等)可以识别代码的作用,但您永远无法取回“原始”代码。
虽然我不确定您使用的是什么 Batch-to-EXE 程序,但它们很可能像 powershell-to-exe 一样工作:脚本本身没有被翻译。相反,脚本被一个运行脚本的小程序封装。我在这里可能是错的,它实际上可能是在翻译脚本(我需要知道你使用的是什么程序)。Rob van der Woude有一个关于各种不同脚本编译器的好页面,以及一些关于批处理编译器的免责声明。我不知道任何将批处理代码转换为机器语言的方法。
如果必须保护源代码,最便宜的选择可能是使用不同的语言。这可能比开发自己的编译器要快。
另一个快速的选择可能是简单地混淆您的脚本,但这不会使其不可读,只是难以阅读。