【问题标题】:Encrypt password section of winrar command line加密winrar命令行的密码部分
【发布时间】:2020-02-25 20:38:39
【问题描述】:

您好,我在服务器中有 winrar 批处理。它运行良好。 我希望能够加密此文件的密码部分。如果有人可以帮助我解决这个问题。

无论哪种方式我都可以 a) 加密 winrar 命令行的密码部分或 b) 加密整个 backup.bat 文件,使其他人无法读取任何内容。

我的这批。

@ECHO OFF
ForFiles /p "G:\GoogleDrive\My Drive\my-Backup" /s /d -10 /c "cmd /c del @file"
rar a -r -v51G -phMYPASSWORD "G:\GoogleDrive\My Drive\my-Backup\server1-D-.rar" -agdd-MM-yyyy D:\
rar a -r -v51G -phMYPASSWORD "G:\GoogleDrive\My Drive\my-Backup\server1-C-.rar" -agdd-MM-yyyy C:\

【问题讨论】:

  • 也许你会找到一些东西here

标签: batch-file command-line command-line-arguments batch-processing winrar


【解决方案1】:

我解决这个问题的方法是下载一个名为“高级 bat 到 exe 转换器”的 bat 到 exe 程序,然后我使用下面的命令行。我还使用导入“嵌入文件”功能在程序中导入所有 winrar 程序文件。

我的exe文件删除谷歌驱动器中超过10天的所有内容然后压缩服务器的C和D驱动器并复制到使用密码加密的谷歌驱动器。

ForFiles /p "G:\My Drive\My-Backup-External" /s /d -10 /c "cmd /c del @file"
start /B /WAIT %MYFILES%\rar.exe -hppassword a -r -v51G "G:\My Drive\My-Backup-External\Mybackup-D-.rar" -agdd-MM-yyyy D:\
start /B %MYFILES%\rar.exe -hppassword a -r -v51G "G:\My Drive\My-Backup-External\Mybackup-C-.rar" -agdd-MM-yyyy C:\

【讨论】:

  • 您也可以创建一个自解压 RAR 存档,而不是使用 高级 bat 到 exe 转换器,因为结果将完全相同,一个可执行文件提取压缩文件将自解压存档文件放到%TEMP%中的一个临时文件夹中,执行其中一个文件,最后删除包含所有文件的临时文件夹。因此,您的解决方案没有真正的密码安全性。与纯批处理文件解决方案相比,每个有权访问可执行文件的人只需要多一步。就是这样。
  • 我在执行 exe 后检查了 temp。 temp 中只有 winrar 文件。没有任何批处理文件,这是 exe 网站battoexeconverter.com 的 bat,我按照你说的做了,当我执行 exe 文件时,它甚至不在屏幕上。你错过了什么吗?
  • 我不会详细分析这个“bat to exe转换器”是如何工作的,但是可执行文件必须将批处理文件写入磁盘,以便cmd.exe可以逐行解释。如果没有文件,就不可能使用 Windows 命令处理器运行批处理文件。提取的批处理文件可能有不同的名称(通用字符串),生成的可执行文件可以在后台执行cmd.exe,使其他人更难以抓取批处理文件,但它肯定是临时写入硬盘的。
  • 可以在执行可执行文件之前清理文件夹%TEMP%,以便更轻松地查看由可执行文件临时创建的文件和目录。也可以打开命令提示符,执行 md C:\MyTempset TEMP=C:\MyTempset TMP=C:\MyTempcd /D C:\MyTemp,然后从命令提示符窗口中运行可执行文件。但我会诚实地使用Process Monitor 来了解在文件系统和注册表中执行可执行文件期间发生了什么。
  • 可以使用进程监视器打开像rar.exe 这样的进程的属性并查看用于启动该进程的命令行。因此,在使用您当前使用的批处理文件启动它时,我真的不需要访问批处理文件来了解传递给rar.exe 的密码。 Process Explorer 是另一个有用的 Sysinternals 工具,它可以显示用于启动进程的命令行和所有环境变量。所以使用环境变量RAR 无济于事。
【解决方案2】:

如前所述,您不能以安全的方式将密码存储在批处理文件中。
即使您将其转换为 .exe,找回密码也很简单。

如果您不信任服务器的安全性,那么使用密码是个坏主意。

但您可以以绝对安全的方式轻松解决。

使用非对称加密

使用 rar 创建备份,但没有密码。

用 openssl 对 rar 进行非对称加密

openssl rsautl -encrypt -pubin -inkey public.key -in backup.rar -out backup.rar.enc

使用public.key 无法解密backup.rar.enc

解密需要private.key(显然不存储在服务器上)。

openssl rsautl -decrypt -inkey private.key -in backup.rar.enc -out backup.rar

【讨论】:

  • 即使您将其转换为 .exe,找回密码也很简单。你能告诉我怎么做吗?自从我执行我的 exe 以来,我检查了 temp。 temp 中只有 winrar 文件。没有任何批处理文件,这是 exe 网站的 bat battoexeconverter.com
  • 如果您不信任服务器的安全性,那么使用密码是个坏主意。我对服务器安全没有任何问题。我的服务器从来没有被黑过。我想加密文件,因为我将它们发送到云端。您给我的解决方案不是我喜欢的,因为 5-10 年后我需要这些备份时可能需要文件 (public.key)。谁知道哪里有风险?我更喜欢长密码组合,这个密码会被你最信任的人知道,以防万一你死了,你的客户数据仍然可以访问。
猜你喜欢
  • 1970-01-01
  • 2013-01-27
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 2011-08-18
  • 1970-01-01
相关资源
最近更新 更多