Обзор pdfcrack: возможности, ограничения и работа с защищёнными PDF
pdfcrack — узкоспециализированная консольная утилита для восстановления пользовательских и владельческих паролей у PDF, защищённых стандартным механизмом шифрования PDF. Это не просмотрщик, не редактор и не средство «снять защиту одним щелчком»: программа перебирает кандидаты по словарю либо генерирует их из заданного набора символов и сообщает найденный пароль. Актуальная исходная ветка проекта Henning Norén остаётся доступной на SourceForge; версия 0.21 выпущена 14 сентября 2025 года как обслуживающий релиз с исправлениями сборки, парсинга и обработки ошибок. По состоянию на сентябрь 2026 года проект не выглядит заброшенным, но развивается именно в режиме сопровождения, а не как активно расширяемый PDF-пакет.
| Параметр | Состояние |
|---|---|
| Актуальная версия upstream | 0.21, выпуск от 14 сентября 2025 года |
| Разработчик исходного проекта | Henning Norén; проект pdfcrack на SourceForge |
| Тип | Консольная утилита восстановления паролей PDF |
| Основной вход | PDF и, при словарной атаке, текстовый список кандидатов |
| Поддерживаемая защита | Standard Security Handler, ревизии R2–R5 в коде версии 0.21 |
| Режимы поиска | Словарь и генерация кандидатов по набору символов |
| Интерфейс | Командная строка, англоязычные сообщения |
| Платформы upstream | Linux и BSD; исходники собираются GNU Make и современным GCC |
| Лицензия | GNU GPL версии 2 или более поздней |
| Цена и аккаунт | Бесплатно; подписка, регистрация и облачный аккаунт не требуются |
| Облачная обработка | Нет: перебор выполняется локально |
Скачать pdfcrack
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
Безопасная точка получения — исходный проект pdfcrack на SourceForge или официальный репозиторий дистрибутива. Актуальный upstream-релиз 0.21 опубликован 14 сентября 2025 года. В новостях проекта он описан как обслуживающий: исправлены сборка с новыми компиляторами, ошибки PDF-парсера, редкий выход за границы буфера и диагностика. SourceForge помечает проект как Beta, а разработчик прямо характеризует ветку как находящуюся в maintenance mode.
В Arch Linux официальный пакет Extra содержит 0.21; Kali Linux также публикует 0.21. В Debian номер зависит от ветки: стабильная Debian 13 Trixie содержит 0.20-1, а Forky testing и sid — 0.21-1. Поэтому версию следует проверять в своём пакетном менеджере.
Если готового пакета нет, можно собрать официальный архив исходников. Текущий Makefile создаёт исполняемый файл в каталоге проекта и не содержит штатной цели install. Актуальных официальных установщиков Windows и macOS upstream не предлагает; неизвестный exe или dmg с похожим названием нельзя считать равнозначным выпуску SourceForge.
При выборе между исходниками и пакетом полезно сохранять происхождение сборки: системный пакет удобнее обновлять и удалять, а upstream-архив позволяет получить именно 0.21 без ожидания обновления стабильного репозитория. Проверка pdfcrack -v после установки отделяет реальную версию бинарника от номера, указанного на странице загрузки. Для утилиты безопасности это важнее, чем поиск «самой свежей» неофициальной сборки.
Что такое pdfcrack
pdfcrack — свободная утилита на C, созданная Henning Norén для восстановления паролей PDF. Проект зарегистрирован в 2006 году и размещён на SourceForge пользователем confusion42. Программа извлекает параметры стандартной PDF-защиты и проверяет кандидаты на пользовательский или владельческий пароль. Она не показывает страницы, не редактирует текст, не конвертирует документы и не выполняет OCR.
User password обычно нужен для открытия зашифрованного файла, owner password связан с правами владельца и ограничениями. pdfcrack умеет искать оба, но результатом является найденный пароль, а не новая незашифрованная копия PDF. Для снятия шифрования после восстановления нужен отдельный PDF-инструмент.
Отдельно существует самостоятельный проект pdfcrack-ng и сторонние репозитории с похожими именами. Их функции нельзя переносить на оригинальную ветку: здесь рассматривается только pdfcrack 0.21 Henning Norén. Использовать подбор допустимо лишь для собственных документов или при явном разрешении владельца.
Название «crack» не означает гарантированного результата. Утилита не обходит криптографию: она проверяет варианты пароля по правилам выбранной ревизии. Если секрет достаточно длинный и случайный, пространство вариантов может быть практически недостижимым для последовательного перебора. Наоборот, короткий словарь, составленный из действительно вероятных вариантов, превращает задачу в контролируемую проверку.
Основные функции pdfcrack
Пользовательский и владельческий пароль
По умолчанию pdfcrack ищет user password. Исходный код версии 0.21 принимает Standard Security Handler ревизий R2–R5 и отклоняет R1, R6 и значения выше. Это важнее старого README, где перечень ревизий отстаёт от текущего кода. Режим owner password включается отдельно; если user password уже известен, параметр -p предусмотрен для его передачи при ускоренном поиске владельческого пароля.
pdfcrack не меняет разрешения PDF и не записывает новую копию. Он только проверяет кандидаты и сообщает совпавший секрет, после чего документ можно открыть совместимым просмотрщиком или обработать другой утилитой.
Словарь
В словарном режиме кандидаты читаются по строкам из текстового файла. Этот способ разумен, если известны вероятные слова, старые шаблоны или корпоративные правила. Текущая реализация ограничивает кандидат 32 байтами; более длинная строка не проверяется как полноценный пароль исходной длины. Для многобайтовых кодировок 32 байта не равны 32 видимым символам, а историческая документация ориентируется на ISO Latin-1, поэтому универсальную Unicode-совместимость предполагать нельзя.
Генеративный перебор
Вместо словаря программа может генерировать комбинации из заданного набора символов. Если набор не указан, код использует латинские строчные и прописные буквы и цифры. Параметры минимальной и максимальной длины ограничивают диапазон, причём максимум также зажат на 32 байтах. Дополнительная опция умеет пробовать вариант словарного слова с заглавным первым символом, но полноценного движка правил, масок уровня Hashcat или GPU-ядра здесь нет.
Сохранение состояния
При корректном прерывании, например Ctrl+C, pdfcrack сохраняет состояние в savedstate.sav; его можно загрузить и продолжить генеративный поиск. Для wordlist есть существенная оговорка: документация считает state-механизм в первую очередь полезным для brute force, а комментарий в исходном коде не обещает точного восстановления позиции словаря. Большие словари надёжнее заранее делить на части.
Benchmark и прогресс
Отдельный benchmark позволяет оценить скорость на конкретном компьютере без универсальных обещаний. В обычном режиме программа периодически показывает ход работы; интервал обновления в коде равен 20 секундам, если вывод не подавлен quiet-режимом.
Управление диапазоном поиска
Параметры -n и -m задают минимальную и максимальную длину для генеративного режима, а -c определяет набор символов. Это не косметические настройки: сокращение алфавита с десятков символов до десяти цифр или исключение заведомо невозможных длин уменьшает число комбинаций на порядки. Если charset не задан, текущий код использует латиницу обоих регистров и цифры, поэтому «запуск по умолчанию» может оказаться намного шире, чем пользователь предполагает.
Режим -s выполняет лишь простую мутацию с заглавным первым символом. Он полезен для словаря, где известна привычка писать первое слово с прописной буквы, но не заменяет сложные правила замены букв цифрами, добавления суффиксов и маскирования. Такие задачи лучше заранее отражать в собственном списке кандидатов.
Интерфейс и удобство использования
Интерфейс pdfcrack полностью консольный: нет окон, вкладок, мастера импорта и графического индикатора прогресса. Пользователь передаёт путь к PDF и параметры запуска, затем читает текстовый вывод. Для привычного к Unix CLI пользователя это прозрачная модель, для новичка — заметный порог входа.
Опции сгруппированы вокруг входного файла, user/owner mode, источника кандидатов, минимальной и максимальной длины, сохранённого состояния, benchmark и режима вывода. Сообщения и параметры англоязычные; русской локализации GUI не существует, поскольку GUI отсутствует.
Сильная сторона такого интерфейса — воспроизводимость: команду можно сохранить и повторить с тем же словарём и диапазоном. Обратная сторона — необходимость аккуратно обрабатывать пути, кавычки и чувствительные данные. Пароль, переданный аргументом процесса, может быть виден локальным системным средствам, а state-файл не следует хранить в общей папке.
Отдельной кнопки «начать заново» или менеджера задач нет: контекст задаётся самой командой и файлами рядом. Поэтому практично создавать отдельный каталог на каждый документ, хранить там только копию PDF, конкретный словарь и state-файл. Так проще не загрузить состояние от другой задачи и не перепутать одинаковые имена документов.
Поддерживаемые форматы и совместимость
Основной документальный формат у pdfcrack один — PDF. Он не открывает EPUB, DjVu, XPS, DOCX или изображения. Дополнительным входом в словарном режиме служит текстовый список кандидатов; экспортированного документа программа не создаёт.
Совместимость определяется прежде всего схемой защиты. Версия 0.21 проверяет Standard Security Handler и принимает R2–R5. R6, другой security handler или структура, которую компактный парсер не смог разобрать, останавливают задачу до перебора. Поэтому расширение .pdf само по себе ничего не гарантирует.
Найденный пароль переносим: его можно ввести в любой совместимый просмотрщик или редактор. Исходный PDF при поиске не переписывается, поэтому нет потерь шрифтов, страниц или разметки. Для получения незашифрованной копии требуется другой инструмент с поддержкой известного пароля.
Разница между «PDF поддерживается» и «шифрование поддерживается» принципиальна. pdfcrack может корректно распознать обычный PDF, но остановиться на неизвестном handler; может и наоборот встретить формально подходящую ревизию, но не извлечь нужные поля из нестандартно построенного файла. Поэтому совместимость следует проверять по диагностике конкретного документа, а не только по версии PDF в свойствах.
Сервисные файлы pdfcrack не являются переносимым форматом документа. Wordlist — пользовательский текстовый ресурс, savedstate.sav — внутреннее состояние конкретного поиска. Они не нужны для дальнейшего чтения PDF после того, как пароль найден и проверен.
Карта критических зависимостей
| Зависимость | Нужна? | Практическое следствие |
|---|---|---|
| Аккаунт | Нет | Запуск не связан с регистрацией или подпиской |
| Интернет для перебора | Нет | PDF, словари и вычисления остаются на локальном компьютере |
| Облачный сервер | Нет | Нет обязательной передачи документа внешнему сервису |
| Совместимая ревизия PDF-защиты | Да | R2–R5 Standard Security Handler поддерживаются; R6 и другие handler отклоняются |
| GNU Make и GCC | Для сборки из исходников | Пакет из репозитория избавляет от самостоятельной компиляции |
| Отдельные внешние библиотеки | Нет для upstream-сборки | Makefile компилирует собственные исходники и не требует стороннего PDF-SDK |
| GPU | Нет | Оригинальный pdfcrack 0.21 не использует GPU-ускорение |
Главная зависимость — не интернет и не лицензия, а совместимость алгоритма защиты с тем, что умеет разобрать версия 0.21. Если эта проверка пройдена, дальнейшая задача становится вычислительной: нужно подобрать достаточно узкое множество кандидатов. Если проверка не пройдена, смена словаря или увеличение времени ничего не даст — сначала требуется инструмент, который понимает конкретную ревизию или handler.
Локальная архитектура полезна для конфиденциальных архивов: программе не нужен облачный API и документ не требуется загружать на сторонний сайт. Однако локальность не отменяет операционную безопасность. Словари, найденные пароли, история shell и сохранённое состояние могут содержать чувствительные данные, поэтому каталог задачи должен иметь подходящие права доступа.
Производительность и стабильность
Скорость определяется прежде всего размером пространства кандидатов. Несколько тысяч вероятных слов принципиально проще полного перебора восьми символов из большого алфавита: каждый новый неизвестный символ умножает число комбинаций. Размер и число страниц PDF после первичного разбора обычно вторичны.
Оригинальный pdfcrack 0.21 не содержит штатного многопоточного движка и GPU-ускорения. Makefile связывает небольшой набор собственных C-модулей без CUDA, OpenCL или внешней очереди потоков. Поэтому на больших пространствах поиска современный многокорный компьютер используется не так эффективно, как специализированными cracking-пакетами.
Проект поддерживает большие файлы и словари, в том числе более 2 ГБ, но его PDF-парсер намеренно прост и, по README, способен не разобрать отдельные документы. Ошибка извлечения шифрования поэтому не доказывает повреждение PDF.
Релиз 0.21 исправил редкое переполнение буфера, сборку с GCC 15, предупреждение FreeBSD и ряд parser/error-handling проблем. Версия 0.20 ранее усилила проверки памяти и корректность парсинга. Для долгого генеративного поиска сохранение состояния полезно, но ещё важнее заранее сузить charset и диапазон длины.
Поддержка файлов и словарей более 2 ГБ появилась ещё в более ранних выпусках и сохранилась в ветке 0.21, однако большой словарь сам по себе не означает качественный поиск. Миллионы нерелевантных строк только увеличивают число проверок. Для pdfcrack особенно выгодна предварительная фильтрация: удалить невозможные длины, варианты с неподходящими символами и дубли.
Benchmark разумно использовать не как «рейтинг компьютера», а как локальную оценку перед большим диапазоном. Получив скорость на своём процессоре, можно оценить порядок времени и вовремя отказаться от полного перебора в пользу более узкого словаря или специализированного GPU-инструмента.
Лицензирование и версии
pdfcrack распространяется как свободное программное обеспечение. Текущие исходники и пакетные метаданные указывают GNU GPL версии 2 или более поздней; SourceForge кратко маркирует проект как GPLv2. Платной редакции, подписки, рекламы, облачного тарифа и пробного периода нет. Все функции конкретной версии доступны без регистрации.
Номер версии относится к самому исходному проекту, а не к одинаковой дате появления пакета во всех дистрибутивах. Upstream 0.21 вышел 14 сентября 2025 года. Arch и Kali публикуют 0.21, Debian testing/sid также содержит 0.21, но стабильные выпуски дистрибутивов могут держать более ранний пакет. Поэтому при диагностике ошибки важно сообщать не только «pdfcrack», но и вывод версии и происхождение пакета.
Коммерческой «Pro»-редакции у исходного pdfcrack нет. Если сайт предлагает покупку pdfcrack, выдаёт подписку за расширенный режим или обещает фирменный облачный кабинет, это уже не соответствует модели распространения upstream-проекта. Сторонние сборки могут существовать, но их безопасность, обновления и набор патчей нужно оценивать отдельно.
Свободная лицензия также означает доступность исходного кода для аудита и сборки дистрибутивами. При этом пакет дистрибутива может включать собственные патчи и отставать от upstream по номеру. Если поведение 0.20 и 0.21 различается, сначала нужно установить, какой бинарник реально запущен, а уже затем сопоставлять ошибку с журналом изменений.
Хронология развития и поддержки
| Период | Веха | Значение |
|---|---|---|
| 2006 | Регистрация проекта и ранние выпуски | Формируется узкая модель CLI-восстановления паролей PDF |
| 2014 | В ветке развития появляется поддержка более новой R5-защиты | Проект выходит за пределы самых ранних RC4-сценариев |
| 2022 | Версия 0.20 | Обслуживающий выпуск с исправлениями парсера, памяти и сборки |
| 14 сентября 2025 | Версия 0.21 | Совместимость с новыми компиляторами, исправления парсера и редкого переполнения |
| 2026 | 0.21 присутствует в актуальных репозиториях ряда Linux-дистрибутивов | Утилита остаётся доступной и поддерживаемой как нишевый пакет |
Эта хронология показывает характер проекта: функциональный фундамент меняется редко, а свежие релизы прежде всего сохраняют сборку и исправляют дефекты. Это нормальная модель для маленькой Unix-утилиты, если её назначение не требует постоянного интерфейсного развития. Одновременно такой режим означает, что пользователю не стоит ждать автоматической поддержки каждой новой PDF-ревизии: совместимость нужно проверять по коду и журналу изменений.
Системные требования
Linux и BSD
Upstream указывает Linux и BSD. Официальная документация не задаёт минимальный объём RAM, частоту CPU или конкретную версию ядра, поэтому точные «минимальные требования» придумывать нельзя. Готовый пакет наследует зависимости своего дистрибутива; вычислительно важнее доступное процессорное время, чем большой объём памяти.
Сборка из исходников
Для исходной сборки README называет GNU Make и достаточно свежий GCC. Внешние библиотеки не нужны: Makefile компилирует собственные модули и связывает их в один исполняемый файл. Официальных современных установщиков Windows и macOS нет; переносимость исходников не следует путать с поддержкой готового бинарника.
Готовый пакет обычно предпочтительнее исходной сборки: пакетный менеджер сам учитывает системную libc и архитектуру, а для компиляции понадобится полный набор средств разработки. Размер установки у разных дистрибутивов различается, поэтому одно универсальное число некорректно; сама программа при этом остаётся очень небольшой по сравнению с настольными PDF-редакторами.
Преимущества и недостатки pdfcrack
Плюсы и минусы
• Чёткая специализация. Восстановление user/owner password без лишнего PDF-комбайна.
• Свободная лицензия. Нет подписки, пробного лимита, регистрации или платных функций.
• Локальная обработка. Документ не требуется отправлять в облако.
• Два базовых режима. Словарь и генерация по набору символов; известный user password можно передать для режима поиска owner password.
• Минимум зависимостей. Исходная сборка не требует внешнего PDF-SDK.
Минусы
• Нет GUI, GPU и штатной многопоточности. На больших задачах инструмент проигрывает современным cracking-системам.
• Ограниченная криптографическая совместимость. Ветка 0.21 принимает R2–R5, но не R6.
• Предел кандидата 32 байта. Особенно существенен для длинных и многобайтовых паролей.
• Упрощённый PDF-парсер. Парсер может не разобрать необычную структуру документа.
• State для словаря ограничен. Точная позиция wordlist не гарантируется.
• Не расшифровывает файл. После нахождения пароля нужен отдельный инструмент.
Сравнение с аналогами
Для pdfcrack корректно сравнивать как средства восстановления, так и соседние инструменты рабочего процесса. Они решают разные этапы, поэтому один критерий «лучше» здесь неприменим.
| Инструмент | Основная задача | Работа с PDF-паролем | Масштабирование | Когда выбирать |
|---|---|---|---|---|
| pdfcrack 0.21 | Восстановление user/owner password | Перебор Standard R2–R5 | Один CPU-поток, без GPU | Небольшой словарь или узкое пространство вариантов |
| John the Ripper Jumbo | Универсальный аудит паролей | PDF после извлечения данных pdf2john | Более развитые правила и инфраструктура | Нужно работать с разными форматами |
| Hashcat | Высокопроизводительный подбор | Отдельные PDF-режимы после подготовки хэша | GPU и масштабируемые атаки | Большое пространство поиска |
| qpdf | Структурные операции PDF | Нужен уже известный пароль | Не cracking | После восстановления требуется расшифровать или преобразовать файл |
| Sumatra PDF | Просмотр документов | Открывает PDF с правильным паролем | Не cracking | Нужно прочитать документ после восстановления доступа |
Sumatra PDF и pdfcrack не конкурируют: первый является просмотрщиком Windows и ожидает правильный пароль, второй пытается его восстановить. После успеха документ можно открыть в Sumatra PDF. Для последующей правки подходят, например, PDF-XChange Editor или Adobe Acrobat Pro.
John the Ripper и Hashcat рациональнее при большом пространстве кандидатов; qpdf — когда пароль уже найден. Для регулярного создания и обслуживания PDF полезнее универсальные программы вроде PDF24 Creator или Master PDF Editor.
Порог сложности тоже различается. pdfcrack принимает PDF напрямую и потому удобен для единичной простой задачи. John the Ripper обычно использует отдельный этап извлечения данных PDF, а Hashcat — подготовленный хэш и выбранный PDF-режим; зато эти системы дают больше вариантов атаки и лучше масштабируются. qpdf вообще не занимается подбором и становится полезен только после получения корректного секрета.
Если цель — просто чтение уже доступного документа, запуск cracking-инструмента избыточен. Sumatra PDF принимает известный пароль при открытии и остаётся значительно ближе к обычному пользовательскому сценарию. pdfcrack стоит добавлять в процесс только тогда, когда секрет действительно утерян и есть право его восстанавливать.
Паспорт обратимости операций
pdfcrack читает исходный PDF и не записывает изменения обратно. Остановка перебора оставляет документ прежним; это снижает риск по сравнению с экспериментами, где исходник сразу пересохраняется.
| Операция | Изменение | Контроль |
|---|---|---|
| Словарный или генеративный поиск | PDF не меняется | Остановить процесс можно без отката документа |
| Прерывание | Создаётся savedstate.sav | После задачи state можно удалить |
| Найден пароль | Новый PDF не создаётся | Проверить пароль на копии в независимом просмотрщике |
| Расшифровка другой программой | Может появиться новая копия | Оригинал хранить до полной проверки результата |
savedstate.sav следует считать потенциально чувствительным: он хранит параметры поиска, а в сценарии с известным user password содержит данные, нужные для продолжения режима. Не стоит отправлять его вместе с PDF или хранить в общей папке.
Если пароль после восстановления нужно удалить, создавайте отдельную расшифрованную копию. До замены оригинала проверьте число страниц, вложения, метаданные и визуальное отображение в другом приложении.
Инструкция по установке
Debian и Kali Linux
Шаг 1. Проверьте версию пакета в своей ветке: Kali публикует 0.21; Debian 13 Trixie stable — 0.20-1; Forky testing и sid — 0.21-1.
Шаг 2. Установите пакет командой sudo apt install pdfcrack.
Шаг 3. Проверьте запуск через pdfcrack -v. Более ранняя версия может быть штатной для вашего репозитория.
Удаление выполняется командой sudo apt remove pdfcrack. Пользовательские PDF, словари и savedstate.sav пакетный менеджер обычно не удаляет.
Arch Linux
Шаг 1. Установите официальный пакет Extra командой sudo pacman -S pdfcrack.
Шаг 2. Проверьте версию через pdfcrack -v; текущий пакет соответствует 0.21.
Удаление: sudo pacman -R pdfcrack.
Сборка 0.21 из исходников
Шаг 1. Возьмите архив официального релиза и распакуйте в отдельный каталог.
Шаг 2. Установите GNU Make и GCC, затем в каталоге исходников выполните make.
Шаг 3. Запустите полученный бинарник из каталога сборки и проверьте версию. Не рассчитывайте на make install: текущий Makefile не содержит такой цели.
Если бинарник не копировался вручную в системный PATH, удалить исходную сборку можно удалением её отдельного каталога.
Первый запуск
Работайте с копией собственного PDF в отдельном каталоге. Сначала проверьте версию и способность программы распознать шифрование. Если сообщается о неподдерживаемой ревизии или парсер не извлекает параметры, увеличение словаря не поможет: проблема возникает до начала перебора.
Не смешивайте пакетную и ручную установку под одним именем в PATH: иначе команда может запускать не ту копию, которую вы только что обновили. После сборки из исходников проверьте полный путь к бинарнику и его версию. При переходе обратно на пакет дистрибутива удалите вручную скопированный исполняемый файл, если он перекрывает системный.
Практические кейсы
Небольшой словарь вероятных паролей
Цель: восстановить user password своего PDF, когда известен ограниченный набор вариантов. Подготовка: сделайте копию документа и candidates.txt, по одному кандидату на строку.
Шаг 1. Запустите pdfcrack -f archive.pdf -w candidates.txt.
Шаг 2. Дождитесь совпадения или конца списка.
Шаг 3. Найденный пароль проверьте на копии файла в независимом просмотрщике.
Ограничение: кандидат ограничен 32 байтами, а поддержка многобайтовых кодировок не универсальна. Отрицательный результат для длинного или необычного пароля не является абсолютным доказательством его отсутствия.
Owner password при известном user password
Цель: восстановить владельческий пароль PDF, который уже открывается. Запустите режим владельца с известным секретом: pdfcrack -f protected.pdf -o -p knownUserPassword, при необходимости добавив словарь или узкий charset. Передача секрета аргументом процесса может быть видна локальным системным средствам, что важно на многопользовательской машине.
Проверка: найденный owner password следует проверять в приложении, которое корректно различает user и owner credentials. Ограничение: сам pdfcrack не меняет права и не пересохраняет документ.
Узкий полный перебор
Цель: проверить пароль известного типа, например только цифры ограниченной длины. Задайте charset, минимальную длину через -n и максимальную через -m. Чем точнее исключены невозможные символы и длины, тем меньше комбинаций.
Проверка: совпавший секрет должен открыть копию PDF. Ограничение: пространство растёт экспоненциально, а версия 0.21 не использует GPU или штатную многопоточность; длинный случайный пароль может быть непрактичным.
Продолжение после перерыва
Цель: не начинать генеративный поиск заново. Остановите его через Ctrl+C, убедитесь, что появился savedstate.sav, затем возобновите командой pdfcrack -l savedstate.sav. Сверьте вывод и параметры задачи.
Ограничение: механизм лучше подходит для генерируемых комбинаций. Точная позиция wordlist не гарантируется, поэтому большие словари разумнее делить на отдельные части.
Навигатор по сбоям
| Симптом | Причина | Безопасное действие |
|---|---|---|
| Неподдерживаемая ревизия | R6 или другой handler | Не запускать бессмысленный словарь; выбрать инструмент с нужной схемой |
| Не извлекается шифрование | Необычная структура или предел парсера | Сохранить оригинал и проверить PDF другим анализатором |
| Перебор слишком долгий | Слишком большой charset или диапазон | Остановить, сузить модель пароля или перейти к масштабируемому инструменту |
| Wordlist после state идёт не от ожидаемой позиции | Ограничение resume | Разбить словарь на части и учитывать их вручную |
| В репозитории только 0.20 | Стабильная ветка отстаёт от upstream | Не брать случайный бинарник; при необходимости собрать 0.21 из официальных исходников |
| Верный по смыслу кандидат не найден | Длина более 32 байт или кодировка | Проверить вручную и при необходимости выбрать другой инструмент |
Диагностика должна идти в порядке «совместимость → формирование кандидатов → время». Если документ не прошёл первый этап, никакое увеличение словаря не улучшит результат.
Контроль результата после восстановления
Цель: отделить успешное нахождение пароля от последующих изменений документа. Сначала откройте копию защищённого PDF найденным паролем в независимом просмотрщике. Если нужен только доступ к содержимому, на этом работу pdfcrack можно закончить.
Если требуется незашифрованная копия, создайте её уже отдельной PDF-утилитой и не перезаписывайте оригинал. Сравните число страниц, визуальное отображение, вложения и возможность повторного открытия. Для архивного документа полезно также сохранить исходный зашифрованный файл до завершения проверки.
Ограничение: корректность нового PDF зависит уже не от pdfcrack, а от программы, которая выполняет расшифровку или пересохранение. Поэтому ошибку на этом этапе нельзя автоматически считать ошибкой восстановленного пароля.
Часто задаваемые вопросы
Может ли pdfcrack сразу снять пароль?
Нет. Он восстанавливает секрет, но не создаёт незашифрованный PDF. После успеха нужен qpdf или другой инструмент, который умеет работать с уже известным паролем.
Поддерживается ли R6?
Нет. Код 0.21 принимает Standard Security Handler R2–R5 и отклоняет более новые ревизии.
Нужен ли интернет?
Для перебора — нет. PDF, словарь и вычисления остаются локальными; сеть требуется только для получения пакета или обновлений.
Есть ли официальная Windows-версия?
Современного официального Windows-установщика upstream не публикует. Неизвестный exe с тем же именем не следует считать официальным выпуском.
Есть ли русский интерфейс?
Нет графического интерфейса вообще; консольные параметры и сообщения англоязычные.
Используется ли GPU?
Нет. В оригинальном 0.21 нет GPU-ускорения и штатного многопоточного движка. Для крупных задач обычно уместнее Hashcat или John the Ripper.
Загружается ли PDF в облако?
Нет. Архитектура локальная и аккаунт не нужен. Но защищать всё равно следует рабочий каталог, историю команд, словари и state-файл.
Почему пароль может не найтись?
Он может отсутствовать в словаре, не попасть в выбранный диапазон, превышать 32 байта, использовать проблемную кодировку или относиться к неподдерживаемой схеме защиты. Отрицательный результат не равен доказательству невозможности восстановления другим методом.
Что делать после успеха?
Проверить пароль на копии в независимом просмотрщике. Для редактирования или создания незашифрованной копии использовать отдельный PDF-инструмент и хранить исходник до проверки результата.
Можно ли искать только owner password, если PDF открывается без запроса?
Да, режим владельческого пароля предусмотрен отдельно. Но практический смысл зависит от того, как именно создан документ и какие ограничения в нём заданы; найденный owner password не меняет файл автоматически.
Меняет ли pdfcrack метаданные или содержимое PDF?
Нет. В штатном поиске документ читается как входной файл. Единственный создаваемый служебный артефакт при сохранении задачи — state-файл; новая версия PDF появляется только если позже использовать другую программу.
Вывод
pdfcrack 0.21 подходит пользователю Linux или BSD, которому нужно локально восстановить забытый user или owner password собственного PDF и который способен сузить набор кандидатов. Его преимущества — свободная лицензия, отсутствие аккаунта и облака, словарный и генеративный режимы, сохранение состояния и прозрачная специализация.
Инструмент хуже подходит для R6, длинных случайных или сложных многобайтовых паролей, а также задач, где важны GPU, много CPU-ядер или графический интерфейс. Он не заменяет просмотрщик, OCR и редактор.
Практически pdfcrack — первый этап восстановления доступа. Если пароль уже известен, рациональнее сразу открыть файл в просмотрщике или qpdf; при огромном пространстве поиска лучше John the Ripper или Hashcat; для правки после восстановления требуется полноценный PDF-редактор.
Главный критерий выбора — не «старый или новый интерфейс», а масштаб и совместимость задачи. При поддерживаемой ревизии и хорошем наборе кандидатов простота pdfcrack является преимуществом; при неподдерживаемой защите или гигантском пространстве поиска она превращается в техническое ограничение.