Выберите файлы
Перетащите файлы или нажмите для выбора. Можно обрабатывать несколько файлов сразу, ограничения по размеру нет. Файл читается в память и никуда не отправляется.
Повредите любой файл за секунды, ничего никуда не загружая
Инструмент, который учитывает формат и разрушает структуру, на которую опираются настоящие парсеры, а не просто меняет случайные байты. Работает с PDF, документами Office, архивами, видео, аудио и изображениями, полностью внутри браузера.
Всё работает локально. Ничего не отправляется, ничего не сохраняется.
У каждого формата свой профиль, настроенный на структуры, от которых зависят его парсеры.
Office documents and PDFs are the formats people most often need broken, and the hardest to break convincingly.
инструментов: 10Text-based formats have no header to destroy, so scrambling characters just produces different text.
инструментов: 7Media formats are built to survive damage: players skip broken regions and image decoders resynchronise after a bad chunk.
инструментов: 7Archives are the formats most explicitly engineered against corruption.
инструментов: 5Executables and installers are validated before anything runs, which makes their failure modes precise and reproducible.
инструментов: 4Not everything has to be serious.
инструментов: 2Три шага, без аккаунта и без очереди.
Перетащите файлы или нажмите для выбора. Можно обрабатывать несколько файлов сразу, ограничения по размеру нет. Файл читается в память и никуда не отправляется.
Standard подходит почти всем. Движок определяет формат по расширению и сигнатуре, затем применяет профиль этого формата.
Повреждённая копия создаётся в памяти и предлагается к скачиванию с исходным именем. Ваш исходный файл не изменяется.
Большинство онлайн-инструментов порчи файлов перезаписывают несколько десятков случайных байт. Для обычного текстового файла этого достаточно. Для форматов, которые действительно нужно сломать, обычно нет, потому что такие форматы это контейнеры, спроектированные переживать повреждения.
Движок читает расширение и сигнатурные байты, выбирает один из 87 профилей формата и разрушает структурные ориентиры этого формата ещё до того, как коснётся полезных данных. Случайные замены байт почти всегда попадают внутрь сжатого потока, а именно от такого повреждения Word и Acrobat и умеют восстанавливаться.
Файлы читаются через File API, переписываются в памяти и возвращаются через Blob-URL. В коде нет ни одной точки загрузки, поэтому нет и журнала сервера с именем вашего файла, нет политики хранения, которой нужно доверять, и нечего взламывать.
Light оставляет файл, который открывается с предупреждением или отображается частично, именно так получается глитч-арт. Standard делает его неоткрываемым. Heavy побеждает программы восстановления. Shred заменяет каждый байт криптографическим шумом, сохраняя имя и размер.
Испорченная копия сохраняет исходное имя файла, точную длину в байтах и правильный MIME-тип. Она копируется, синхронизируется, прикрепляется к письму и проходит формы загрузки как любой другой файл. Она отказывает только в тот момент, когда что-то пытается её разобрать.
Обработка идёт кусками по 8 МБ с возвратом управления циклу событий между ними, поэтому видео на несколько гигабайт не подвешивает вкладку и не исчерпывает память. Перетащите папку, и все файлы будут обработаны за один проход, примерно за 18 мс на мегабайт.
Каждый запуск сообщает использованный профиль, сколько структурных маркеров разрушено, долю переписанных байт и шестнадцатеричный вид заголовка до и после. Необязательное хеширование SHA-256 доказывает, что вход и выход различаются.
Заголовок, индекс и трейлер уничтожены. Ничто не может найти ни одной записи, поэтому восстанавливать просто не из чего.
Повреждение применяется сначала к структуре и только потом к содержимому. Вот ориентир, в который целится каждый профиль, и ошибка, которую приложение показывает после этого на самом деле.
Acrobat: «Файл повреждён, и его не удалось восстановить.»
Читалка открывает PDF с конца, поэтому все индексы в хвосте должны быть уничтожены.
| Формат | Разрушенная структура | Что вы увидите |
|---|---|---|
Заголовок %PDF-, все таблицы xref, трейлер и маркер %%EOF | Acrobat: «Файл повреждён, и его не удалось восстановить» | |
| DOCX, XLSX, PPTX | Локальные заголовки файлов, центральный каталог и запись конца центрального каталога | Word: «нечитаемое содержимое», после чего «Открыть и восстановить» тоже не срабатывает |
| ZIP, RAR, 7z | Индекс архива, локальные заголовки и записи восстановления RAR | WinRAR: «Не удаётся открыть файл как архив» |
| ISO | Все 32 КБ системной области и дескрипторы тома CD001 | Windows: «Возникла проблема при подключении файла» |
| DMG | Трейлер koly и карта блоков mish | macOS: «Нет монтируемых файловых систем» |
| MP4, MOV, MKV | Маркер ftyp и атом moov с таблицей сэмплов | VLC: «Не удаётся открыть источник» |
| MP3, WAV, FLAC | Теги ID3, слова синхронизации кадров MPEG и блок STREAMINFO в FLAC | Нет длительности, нет обложки, ничего не воспроизводится |
| JPG, PNG, GIF | Маркеры SOI, SOF, DHT и SOS; сигнатура PNG, чанки IHDR и IDAT | Значок битой картинки во всех браузерах |
| PSD, AI | Заголовок 8BPS, блоки ресурсов 8BIM и xref встроенного PDF | Photoshop: «файл несовместим» |
| EXE, DLL, APK | Заглушка MZ, заголовок PE и таблица секций; блок подписи APK | Windows: «не является приложением Win32» |
Около 87 расширений имеют отдельный профиль. Всё остальное обрабатывается универсальным двоичным профилем, который перезаписывает заголовок и трейлер и рассеивает энтропию по телу файла, так что портить файлы онлайн здесь можно независимо от того, есть ли у формата своя страница.
Любой файловый сервис заявляет, что не хранит ваши данные. Здесь это утверждение можно проверить меньше чем за минуту, тремя разными способами.
Откройте инструменты разработчика, перейдите на вкладку Network, испортите файл и отсортируйте запросы по размеру. Загрузка не спрячется в списке, отсортированном по объёму данных. Единственные исходящие запросы принадлежат шрифтам и тегам аналитики и рекламы, и ни один из них не несёт ваш файл.
Загрузите эту страницу, выключите Wi-Fi или включите режим полёта, затем испортите файл. Всё работает от начала до конца. Инструмент, который продолжает работать офлайн, никогда ничего никуда не отправлял.
Инструмент поставляется без минификации и без зависимостей. В инструментах разработчика откройте панель Sources и прочитайте его там: меньше 500 строк с комментариями, каждая операция над байтами на виду, и ни одного вызова fetch, XHR или WebSocket.
Нажмите кнопку, чтобы создать файл на 256 КБ в памяти, испортить его и сравнить сетевые запросы этой страницы до и после. Любой сторонний запрос аналитики или рекламы, который при этом сработает, будет назван в результате; важно то, что сюда ничего не отправляется обратно, потому что отправлять просто некуда.
Намеренно сломанные файлы это обычная часть разработки, эксплуатации и преподавания программного обеспечения.
Некорректный ввод одна из самых частых причин инцидентов в продакшене и один из наименее проверяемых путей в кодовой базе. Испорченный файл показывает, отказывает ли парсер контролируемо вместо зависания или неограниченного выделения памяти, возвращает ли точка загрузки внятную ошибку и читает ли проверка типа файла сигнатурные байты вместо того, чтобы доверять расширению.
Резервная копия, которую вы ни разу не восстанавливали, это гипотеза. Испортите дамп базы данных или артефакт развёртывания, затем прогоните на нём процедуру восстановления и выясните, срабатывает ли проверка целостности, чисто ли откатывается импорт и может ли испорченный артефакт затереть исправный.
Создавайте некорректные входные данные для фаззинг-корпуса, убедитесь, что сканер обрабатывает сломанный архив без зависания, или готовьте воспроизводимые повреждённые файлы-улики для обучения цифровой криминалистике и реагированию на инциденты, не трогая настоящее вредоносное ПО.
Покажите группе, как выглядит испорченный файл на уровне байт, объясните, зачем существуют контрольные суммы и версионные резервные копии, и раздайте студентам одинаковые повреждённые файлы для отработки восстановления. Шестнадцатеричный вид после каждого запуска делает изменение видимым, а не абстрактным.
Накопители отказывают чаще и тише, чем закладывает большинство команд. В работе Understanding the Robustness of SSDs under Power Fault (Zheng et al., USENIX FAST 2013) 13 из 15 протестированных твердотельных накопителей пяти производителей отказали при отключении питания посреди записи. Наблюдавшиеся отказы не сводились к мёртвым устройствам: среди них были порча битов, обрезанные записи, несериализуемые записи и порча метаданных, то есть та самая категория, когда файл на месте, правильного размера и нечитаем.
Механические диски со временем не безопаснее. Анализ более 100 000 дисков в Google показал годовой процент отказов, приближавшийся к 8,6 % к третьему году, причём скрытые ошибки секторов накапливались незамеченными задолго до того, как диск признавали неисправным.
Практическое следствие в том, что код, обрабатывающий повреждённый файл, рано или поздно выполнится в продакшене, независимо от того, тестировал его кто-нибудь или нет. Намеренная порча файла превращает это из инцидента в тест, который можно запускать в CI. Разбор того, что именно проверять, смотрите в статье тестирование пути ошибки, который никто не тестирует.
Честная версия, включая случаи, когда альтернативы вполне подходят.
| Возможность | Files Corrupter | Типичный онлайн-сервис |
|---|---|---|
| Где происходит обработка | В вашем браузере | Загрузка на сервер |
| Ограничение размера файла | Нет, до потолка браузера около 2 ГБ | Часто от 10 до 100 МБ |
| Метод порчи | С учётом формата, структурный | Случайные замены байт |
| Побеждает восстановление Office и Acrobat | Да | Часто нет |
| Уровни повреждения | Четыре | Один |
| Пакетная обработка | Да | По одному файлу |
| Сохраняет имя, размер и MIME-тип | Да | Обычно переименовывает |
| Работает офлайн | Да | Нет |
| Сообщает, что именно изменено | Профиль, маркеры, hex, SHA-256 | Ничего |
| Нужен аккаунт | Никогда | Иногда |
Об этом стоит сказать прямо, потому что инструмент, обещающий здесь лишнего, крадёт ваше время именно тогда, когда это важнее всего.
Повреждение применяется сначала к структуре, затем к данным. Именно этот порядок отличает «открывается с предупреждением» от «восстановлению не подлежит».
Не откроется ни в одном обычном приложении.
| Уровень | Переписано данных | Целевая структура | Результат |
|---|---|---|---|
| Light | ~0.5% | Только сигнатурные байты | Открывается с ошибкой или отображается частично. Иногда восстановим. |
| Standard | ~3% | Заголовок, все сигнатуры, трейлер | Не откроется ни в одном обычном приложении. |
| Heavy | ~12% | Заголовок, все сигнатуры, двойной трейлер | Полностью побеждает программы восстановления и починки. |
| Shred | 100% | Весь файл заменён | Каждый байт становится криптографическим шумом. |
Да. Полностью бесплатно, без аккаунта, регистрации и ограничений. Инструмент работает на вашем оборудовании.
Нет. Каждый байт обрабатывается локально в вашем браузере. Ничего не передаётся, не логируется и не сохраняется.
На уровне Standard и выше нет. Движок разрушает структурные ориентиры, на которые опираются программы восстановления. Всегда храните резервную копию.
Да. Результат сохраняет исходное имя, точный размер и MIME-тип. Он не открывается только тогда, когда что-то пытается его разобрать.
Мы не устанавливаем ограничений. Файлы обрабатываются фрагментами по 8 МБ, поэтому многогигабайтное видео не исчерпывает память.
Любые. Около 87 расширений имеют собственный профиль, остальные обрабатываются универсальным бинарным профилем.