Alter.Org.UA
 << Back Home EN en   Donate Donate

The Bat TBB recovery tool for Windows

Извлекает письма из поврежденного TBB-файла на основе сигнатурного анализа. На выходе получается правильный TBB файл. Утилита умеет выбрасывать сообщения, отмеченные как удаленные, снимать флаг удаления, а также извлекать не все сообщения, а в указанном диапазоне (по порядковым номерам или по физическому смещению в исходном файле). Проверялось на The Bat ver. 2.02.3 и 4.1.11.

Работает под всеми версиями Windows (95/98/Me/NT/2000/XP/etc.).

Алгоритм следующий:

  • отключить автоматический импорт почты с сервера и выйти из The Bat
  • сделать резервную копию старых messages.tbb и messages.tbi
  • обработать messages.tbb с помощью tbbcopy
  • полученный .TBB-файл поместить обратно в соответствующий каталог The Bat'а под именем messages.tbb и удалить находящийся там messages.tbi
  • запустить The Bat и выполнить проверку целостности свежевосстановленного каталога
Usage:
  tbbcopy.exe [-<switches>] <source file> <target file>
      or
  tbbcopy.exe [-<dd-style options>]
      or
  tbbcopy.exe -a [-d+] <source file>
Switches:
  -a                  automated repair. Make backup of .TDB and .TDI and
                      perform restore to original filename.
  -o[b|k|m|g] <offset>  offset in bytes (or optionally in blocks, KBytes, MBytes or GBytes)
                      to start recovery from (since v1.2)
  -l                  just dump e-mail list
  -f                  dump e-mail From: header
  -L <logfile>        log unreliable and bad blocks to <logfile>
  -d[+|-]             include (+) or exclude(-) deleted messages
  -k                  keep message size, don't repair when extracting (since v1.2)
  -m <num>            start from message <num> (since v1.2)
  -M <num>            process not more than <num>
  -?                  display this help
DD-style options:
  if=<source file>
  of=<target file>
  seek=<blocks>
Note:
  1 KByte = 1024 bytes
  1 MByte = 1024 KBytes = 1024*1024 bytes
  if byte offset or byte count is specified, it will be rounded to blocksize
Examples:
  tbbcopy.exe X:\mail\messages.tbb E:\Temp\Restored.tbb
    will extract all not deleted messages
  tbbcopy.exe -o 10M X:\mail\messages.tbb E:\Temp\Restored.tbb
    will extract messages starting from byte offset 10Mb to end of file
  tbbcopy.exe -a X:\mail\messages.tbb
    will make backup to X:\mail\messages.bkp.tbb and X:\mail\messages.bkp.tbi 
    and store extracted messages in X:\mail\messages.tbb

Download

Посленняя версия (с исходниками) - tbb_recovery_v1e.rar/tgz (42 Kb/45.4 Kb)

History

  • Разрешен рост внутреннего буфера до размера максимального сообщения. Это нужно для коррекции заголовка. При использовании опции -k используется фиксированый буфер, т.к. коррекция не производится.
  • Добавлены предупреждения при использовании взаимоисключающих опций.
    tbb_recovery_v1e.rar/tgz (42 Kb/45.4 Kb)
    2017.07.04

  • Исправлен баг в поддержке опции -d и -a Теперь -a не отменяет действие -d+
  • Исправлены баги в буферизации ввода/вывода, теперь длинные сообщения и последние 64к файла не портятся.
  • Добавлена опция -f, добавляющая в лог/листинг информацию из заголовка From:.
    tbb_recovery_v1d.rar/tgz (41.8 Kb/45 Kb)
    2017.06.30

    Восстанавливали 25Гб, что уже само по себе интересно :) Выплыл баг в поддержке опций -o (смещение для начала сканирования) и -m (пропустить первые сообщения). Исправлено, спасибо Владимиру Глущенко за сообщение об ошибке.
    Также добавлена опция -k, предотвращающая "исправление" длины сообщения в результирующем файле. Иногда такое исправление вредит.
    tbb_recovery_v1b.rar/tgz (38.7 Kb/41.9 Kb)
    2013.09.08

    История снова всплыла, оказалось, что граничный размер файла .tbb - 1Гб. TheBat все еще продолжает принимать новые письма, но compress уже не делает. И не ругается, делает вид, что полет нормальный :) А файл растет быстро. После 2Гб прием новых писем прекращается без каких-либо объяснений.
    Для удобства дописал режим автоматической обработки, включается -a. Требуется единственный параметр - имя исходного файла. Создание резервной копии оригинала .tbb и индексного файла .tbi делается автоматически. После окончания работы остается только убить .bkp.tbb и .bkp.tbi
    tbb_recovery_v1a.rar/tgz (38.4 Kb/41.6 Kb)
    2013.08.26

    Первая версия, появилась на свет из-за необходимости починить 2Гб .tbb файл. Ни одна из найденных утилит на справилась. Все пытались так или иначе загрузить весь файл в память целиком и повисали либо возвращали ошибку.
    tbb_recovery_v1.rar/tgz (36.9 Kb/39.2 Kb)
    2012.09.20

    Предложения и исправления слать на FB or mail alterX@alter.org.ua (remove X)   Share

  • Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2024