Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Забытый пароль winrar


Автор: bursa 16.3.2005, 15:20
Забыл пароль к своему архиву, теперь очень нужен.
Пытаюсь написать программку для перебора паролей, вызываю unrar по циклу.
Проблема: архив большой, раскрывается каждый файл, процесс остановить не могу, вследствие чего запускается большое количество unrar-ов, всё виснет.
Нельзя ли как-то от unrar получить код ошибки или что-либо такое и в этом случае закрыть
unrar

Автор: Dr.No_xXx 16.3.2005, 15:39
bursa
Ты Можеш просто запускать перебор при открытии определенного архива
Это должно решить проблему с зависанием.
а на счет
"Нельзя ли как-то от unrar получить код ошибки или что-либо такое и в этом случае закрыть
unrar"
даже и незнаю.Можно просто сделать ограничение.

Автор: bursa 16.3.2005, 15:59
На форуме часто обсуждаля подобный вопрос, но самое лучшее было для моей проблемы:

Код

function TForm1.ExecAndWait(const FileName, Params: ShortString; const WinState: Word): boolean; export;
var
 StartInfo: TStartupInfo;
 ProcInfo: TProcessInformation;
 CmdLine: ShortString;
begin
 CmdLine := '"' + Filename + '" ' + Params;
 FillChar(StartInfo, SizeOf(StartInfo), #0);
 with StartInfo do
 begin
   cb := SizeOf(StartInfo);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := WinState;
 end;
 Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false,
                         CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
                         PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
 if Result then
 begin
   WaitForSingleObject(ProcInfo.hProcess, INFINITE);
   { Free the Handles }
   CloseHandle(ProcInfo.hProcess);
   CloseHandle(ProcInfo.hThread);
 end;
end;


где можно отследить и окончание процесса, и код ошибки

но как отледить
Цитата
3  ОШИБКА CRC      Во время распаковки обнаружена ошибка CRC.


еще до завершения приложения

Автор: z-END 16.3.2005, 16:03
наверно лучше не запускать Winrar а использовать его библиотеку unrar.dll

Автор: bursa 16.3.2005, 16:36
Спасибо всем за помощь,
проблеу решил путем разархивирования только первого файла архива, потом проверка, и если всё ОК - остальные файлы

Автор: Snowy 16.3.2005, 16:45
Проще было использовать программу подбора паролей...

Автор: bursa 16.3.2005, 16:55
To: Snowy. Что за программа. У меня пока что идет перебор и ничего не разархивировано

Автор: Snowy 16.3.2005, 16:58
Advanced Archive Password Recovery
Пароли перебирает миллионами в секунду.
Добавлено @ 17:00
Цитата

A program for recovering lost or forgotten
passwords for ZIP (PKZip/WinZip), ARJ/WinARJ,
RAR/WinRAR and ACE/WinACE (1.x) archives. Supports
the customizable "brute-force" attack, effectively
optimized for speed (for ZIP, up to 15 million
passwords per second on Pentium III);
dictionary-based attack, and very fast and
effective known-plaintext attack. For WinZip
archives with 5 or more encrypted files,
guaranteed decryption is available. Multilangual
interface is provided. $60

Ключ могу в приват дать.
Добавлено @ 17:03
А, ну да. И самую мелочь забыл. Линк: www.elcomsoft.com
Ремята ломают все, что ломается и продают программы.
И им за это ничего не будет... Ибо все это "Для восстановления забытых паролей"
P.S. Шароварное ограничение - пароли до 5 символов.

Автор: Alex 16.3.2005, 18:48
В FAQ есть функция FileExecuteWait http://vingrad.ru/DELPHI-DLP-000765. А коды ошибок представлены в документации к WinRar
Цитата

    255  ПРЕРВАНО        Операция была прервана пользователем.
          ПОЛЬЗОВАТЕЛЕМ

      9  ОШИБКА СОЗДАНИЯ  Ошибка при создании файла

      8  ОШИБКА ПАМЯТИ    Недостаточно памяти для выполнения операции.

      7  ОШИБКА          Ошибка при указании команды/параметра в
          ПОЛЬЗОВАТЕЛЯ    командной строке.

      6  ОШИБКА ОТКРЫТИЯ  Произошла ошибка открытия файла.

      5  ОШИБКА ЗАПИСИ    Произошла ошибка записи на диск.

      4  ЗАБЛОКИРОВАННЫЙ  Попытка изменения архива, заблокированного
          АРХИВ            ранее командой 'k' или ключом '-k'.

      3  ОШИБКА CRC      Во время распаковки обнаружена ошибка CRC.

      2  ФАТАЛЬНАЯ        Произошла критическая ошибка.
          ОШИБКА

      1  ПРЕДУПРЕЖДЕНИЕ  Произошла некритическая ошибка.

      0  УСПЕШНОЕ        Работа завершена без ошибок.
          ЗАВЕРШЕНИЕ

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)