2015-03-09 3 views
0

У меня возникла идея сделать что-то вроде keychain с ключами, в котором будут содержаться возможные пароли для извлечения защищенных паролем архивов. Таким образом, пароли останутся скрытыми, но пользователь все равно сможет извлечь архив, не зная пароля.Извлечение зашифрованного архива rar без указания пароля

Проблема в том, что я отправляю пароль через параметр, он отображается в параметрах командной строки.

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

я попытался также отправить проход через эхо, но это не похоже на работу

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

Как решить эту проблему?

+0

У вас нет файла unrar.dll? Я бы предположил, что у вас будет больше контроля, если вы используете это вместо exe. –

+0

Если вы не хотите, чтобы кто-нибудь читал это, тогда не повторяйте его! Я не понимаю, почему вам нужно показать консоль. При вызове CreateProcess используйте CREATE_NO_WINDOW. –

+0

да, я проверил эту библиотеку, но wirar/unrar более эффективен, библиотека содержит только базовые fuctions для извлечения, но winrar/unrar также делает вещи, такие как дата и время хранения данных с точностью NTFS для извлеченных файлов, атрибутов и т. Д., Я ищу самое простое решение – Nafalem

ответ

0

Использование @echo off - правильный подход.

Обратите внимание, что при вызове

@echo something 

, что «что-то» всегда отображается, даже если вы отключили эхо, используя @ECHO прочь.

Также я согласен с Uli Gerhardt об использовании unrar.dll, так как это даст вам еще лучший контроль над процессом извлечения.

EDIT: Если вы поместите этот код в пакетный файл (* .bat), вы увидите, что команды не будут отображаться.

@echo off 
set mypass=12345 
notepad %mypass% 

То же самое следует применять при отправке команд из приложения.

EDIT2: Вам известно, что вы даже можете найти уже сделанный компонент Delphi, который позволит вам использовать unrar.dll?

Проверить в нижней части этой страницы: http://www.rarlab.com/rar_add.htm

+0

Переменная окружения бессмысленна –

0

UnRAR исполняемый не обеспечивает механизм для безопасного принимать пароль архива. Он принят в форме обычного текста. От этого не избежать, и вы должны перестать пытаться это сделать.

Используйте интерфейс rar DLL вместо этого, который дает немного повышенный уровень обфускации. Конечно, умеренно определенный хакер может проверять передаваемые параметры. Или проверьте файл, который извлекается.

Смежные вопросы