我有批处理脚本,计划每天运行。有些脚本中有密码。我想保护批次不被那些没有权限打开或阅读的人阅读或打开。
我的问题是:保护批处理文件的好方法是什么?是否有免费或开放源码工具来编译批处理文件?
发布于 2009-07-23 10:59:40
您可以使用NTFS ACL保护文件,使其不受未经授权执行文件的用户的影响。根据定义,被授权执行密码的用户可以读取密码(如果您选择混淆密码,则以混淆的形式读取)。对执行的访问意味着对读取的访问。如果脚本可以消除密码混淆,用户也可以。
假设您试图保护密码不受被允许执行脚本的用户的影响,那么您所说的是不可能的。你真的在说:
我们有需要提供给用户的密码,这样他们就可以使用一些软件,但我们不希望用户知道密码是什么。
根据定义,用户必须能够恢复密码才能使用密码。您所执行的密码的任何混淆或编码,对于确定的用户来说只是一个“减速带”,以了解密码是什么。
只要这个脚本的执行上下文是用户,你就必须给他们密码。你是否试图混淆密码是你的事,但你仍然给他们密码。
发布于 2009-07-23 10:41:50
我会使用类似BATCH2EXE的东西,并“编译”批处理文件,这样他们就不能修改它了。:-)
外面有几个。有些是免费的,有些是便宜的。
在谷歌上搜索"batch2exe“或"bat2exe”,你就会明白我的意思。
这些年来,我一直在使用各种不同的东西。
发布于 2014-03-04 12:34:38
一种快速和简单的方法混淆批处理文件是添加字符串"FF FE0D0A“在六角码开始(使用一个免费的十六进制编辑器)。通常由恶意软件作者使用,这使文本编辑程序,如记事本或Notepad++打开文件,就好像它是Unicode (当它是事实上的ASCII),导致混乱的垃圾文本。但是,如果运行批处理文件,则它将由cmd.exe (而不是notepad.exe )处理,从而运行模糊代码(Windows将将所有内容读取为ASCII)。
这不会阻止那些真正想要看到引擎盖下发生了什么的人,但也会阻止那些对逆向工程不太了解的人。希望这能有所帮助。
https://serverfault.com/questions/44510
复制相似问题