View previous topic :: View next topic |
Author |
Message |
alexey65536
Joined: 20 Jan 2006 Posts: 1056 Location: Taganrog
|
(Separately) Posted: Sun Oct 28, 2007 20:26 Post subject: 1 |
|
|
Проблема: при распаковке из ТС запароленного архива RAR, где пароль содержит в себе пробел(ы) - архив не распаковывается (видимо, пароль из-за пробелов передается неверно).
Возможно, это вопрос к авторам unrar.dll, хотя WinRAR распаковывает такие архивы успешно. _________________ #199018 |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Oct 28, 2007 21:23 Post subject: |
|
|
alexey65536 wrote: | Проблема: при распаковке из ТС запароленного архива RAR, где пароль содержит в себе пробел(ы) - архив не распаковывается (видимо, пароль из-за пробелов передается неверно).
Возможно, это вопрос к авторам unrar.dll, хотя WinRAR распаковывает такие архивы успешно. |
Баг не подтверждаю.
Для распаковки запароленных архивов должен использоватся внешний распаковщик, т.е. Winrar.exe. Проверь, правильно ли прописан путь к Winrar.exe в диалоге настроек архиваторов в TC.
з.ы. поддержка запароленных архивов через unrar.dll, вероятнее всего, будет в TC 7.5. |
|
Back to top |
|
|
alexey65536
Joined: 20 Jan 2006 Posts: 1056 Location: Taganrog
|
(Separately) Posted: Sun Oct 28, 2007 21:27 Post subject: 2 |
|
|
Путь к винрару прописан. Могу скинуть на мыло архив с известным паролем, который не распаковывается через ТС. _________________ #199018 |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Oct 28, 2007 21:32 Post subject: |
|
|
Попробуй взять путь к Winrar.exe в кавычки.
Если не поможет, выложи файл на рапиду, посмотрим. |
|
Back to top |
|
|
alexey65536
Joined: 20 Jan 2006 Posts: 1056 Location: Taganrog
|
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Oct 28, 2007 21:53 Post subject: |
|
|
Дело не в пробелах, а в этом знаке:
` |
|
Back to top |
|
|
alexey65536
Joined: 20 Jan 2006 Posts: 1056 Location: Taganrog
|
(Separately) Posted: Sun Oct 28, 2007 21:55 Post subject: 3 |
|
|
А чем ему знак-то не угодил? Ведь чистый винрар распаковывает, а вызываемый из ТС - фиг.. _________________ #199018 |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Oct 28, 2007 21:57 Post subject: |
|
|
Я ещё проверю TC на совместимость с другими знаками, потом багрепорт на оф. форум отправлю. Подозреваю, что проблемы возникнут и с юникодными паролями. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Fri Nov 23, 2007 18:04 Post subject: |
|
|
2alexey65536
Проблема, вероятно, всё же с пробелами, хотя тот архив вообще странный какой-то
Проблема с распаковкой подобных архивов должна решится в TC 7.5, т.к. тогда будет использоватся dll для распаковки с поддержкой зашифрованных архивов. Вот пояснение Гислера:
Quote: | Using a space in the password is a very bad idea. Why? Command line
parameters are passed to RAR separated by spaces, so RAR will think
that only the first part up to the space is the password, and the rest are
some parameters! |
С упаковкой также есть свои ньюансы: если в пароле используется несколько слов, разделённых пробелами, то WinRar покажет окно с "ошибкой упаковки", но в итоге архив с паролем будет правильным.
Если в качестве пароля используется пробел, то пароль нужно вводить четырежды - дважды в диалоге TC и ещё дважды в диалоге WinRar. |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Nov 23, 2007 18:19 Post subject: |
|
|
DrShark
Гислер опять выеживается. :-\
Ясно, что если пароль содержит пробел, ТС должен передавать его рару в двойных кавычках. Code: | rar x "-pSome Pwd" file.rar |
А он "отмазки лепит", что идея плохая - напиши ему плс.. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Fri Nov 23, 2007 18:48 Post subject: |
|
|
Кто-то на этом форуме (Флинт, кажется) выкладывал прогу, которая, если её прописать архиватором в TC, будет параметры отображать. Можете её выложить, если она есть ещё у кого-то? |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Fri Nov 23, 2007 19:24 Post subject: |
|
|
Это решение не совсем подходит.
Надо как-то поймать тот момент, когда пароль передаётся из TC в rar.exe/winrar.exe. Желательно это в лог записывать. Надо проверить, добавляет TC к паролю кавычки или нет.
Edit: При упаковке TC кавычек действительно не добавляет. Прога не подходит для варианта с распаковкой. |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Nov 23, 2007 19:49 Post subject: |
|
|
DrShark wrote: | Это решение не совсем подходит. |
Почему? ты же можешь положить ее вместо Winrar.exe и смотреть, что ей передается.
DrShark wrote: | Прога не подходит для варианта с распаковкой. |
Почему? |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Fri Nov 23, 2007 20:10 Post subject: |
|
|
Проблема была в том, что при Alt+F6 TC не просил пароль, а сразу запускал прогу. Вопрос решился просмотром запакованого файла из архива. Итог: TC не использует кавычки.
После тестов я решил, что в текущем поведении TC тоже есть рациональное звено. Возьмём самый тяжёлый случай - я хочу упаковать архив с паролем
Code: | "c:\Program Files\WinRAR\WinRAR.exe" -m5 a -c
- "D:\test\RarPack_quote.rar" -p"" "" "d:\Music\Other\RarPack.au3" |
WinRar не принимает пароль в таком виде и выводит поле для ввода пароля. После ввода пароля WinRar запакует мне вместо одного файла RarPack.au3 все файлы из его папки, включая подпапки.
Если в даном случае winrar.exe заменить на консольный rar.exe, то ситуация вообще смешная: он просит ввести пароль, но ввод в командную строку не работает. Жму Enter и получаю ту же упакованую папку, но распаковать такой архив не получится, т.к. пароль вообще неизвестен. |
|
Back to top |
|
|
|