我有一个代码,我将其保存到文本文件中并将其标记为 locker.bat,它会为我隐藏一个文件夹。但问题是我只需右键单击并单击编辑即可找到密码(例如下面的密码是 password_goes_here)。顺便说一下,这是 Windows 8。
我如何隐藏密码以便人们看不到它,或者我是否可以将其设置为人们无法编辑它?
cls
@ECHO OFF
title Folder Private
if EXIST "HTG Locker" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "HTG Locker"
attrib +h +s "HTG Locker"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT %pass%== PASSWORD_GOES_HERE goto FAIL
attrib -h -s "HTG Locker"
ren "HTG Locker" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End
答案1
选项 1:使用允许您编译代码的适当的编程语言,并采用加密/混淆技术,以便任何好奇的人都不容易看到密码。
选项 2:您可以使用批处理到 EXE 转换器。精通技术的用户可能可以使用十六进制编辑器(甚至是文本编辑器或字符串您可以使用以下命令查看可执行文件中的纯文本密码字符串:实用程序(英语:Utility)来查看可执行文件中的纯文本密码字符串,但普通用户可能会不知所措。
PS HTG Locker 无论如何都几乎没用。做为文件夹设置+S 和 +H 属性。
答案2
这是可能的,但代价是你之后无法编辑该程序。
你需要做的就是抓住这个实用程序这里。它只是一个批处理文件到 EXE 编译器,即隐藏密码,但编译后您将无法编辑它。
正如@EBGreen 指出的那样,您仍然只需要一个十六进制编辑器来查看密码。
不过,我曾经使用过一款产品,但它是付费软件。您可以在下面找到它,它使用加密和编译到 EXE 中的解码器模块。这将是完全掩盖密码的唯一真正选择,因为它会在转换批处理文件之前对其进行加密。