提取加密的rar存档而不显示密码

时间:2015-03-09 07:16:34

标签: cmd passwords archive unrar

我有一个想法,用密钥来制作钥匙串,其中包含可能的密码来提取受密码保护的档案。因此密码将保持隐藏状态,但用户仍然可以在不知道密码的情况下提取存档。

问题是如果我通过参数发送密码,它会显示在命令行参数中。

set mypass=12345
unrar.exe x test.rar -p%mypass%

我试过也通过回声发送传递,但它似乎没有工作

@echo off
@echo 12345 | unrar.exe x test.rar -p

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用@echo off是正确的方法。

请注意,当您致电

@echo something 

那"某事"即使您使用@echo off禁用了回声,也会始终显示。

此外,我同意Uli Gerhardt关于使用unrar.dll的信息,因为这样可以更好地控制提取过程。

编辑:如果您将此代码放入批处理文件(* .bat),您将看到命令不会显示。

@echo off
set mypass=12345
notepad %mypass%

从应用程序发送命令时应该同样适用。

EDIT2:你知道你甚至可以找到已经制作的Delphi组件,它可以让你使用unrar.dll吗?

请在本页底部查看:http://www.rarlab.com/rar_add.htm

答案 1 :(得分:0)

unrar可执行文件不提供安全接受存档密码的机制。它以纯文本形式接受。没有远离那个,你应该停止尝试这样做。

使用rar DLL接口代替,它会略微提高混淆程度。当然,适度确定的黑客可以检查正在传递的参数。或者检查正在提取的文件。