Як сказати, які частини бінарного файлу змінюються


1

Чи є інструмент, який я бачу, щоб побачити, які частини файлу змінюються? Я бачив інструменти, які показують мені, до яких сегментів мого жорсткого диска доступ, але я хочу щось подібне для одного файлу, якщо щось подібне існує.

Я шифрую файл і хочу побачити, щойно коли частина записується на диск, ця частина колись знову змінюється. Наприклад, коли шифрується перший MB MB і зберігається на диску, і програма рухається далі, що-небудь в цьому першому МБ оновлюється після шифрування.

Як деякий детальний контекст, у мене є процес, коли я використовую gpg4win для шифрування дуже великого файлу (36 Гб), а потім мені потрібно FTP його на віддалений сервер. Обидва етапи цього процесу займають багато годин, але FTP займає трохи більше часу. Якщо шифрування просто продовжує розширювати файл, але початок залишається незмінним, я можу запустити процес FTP, як тільки файл трохи поступає. Якщо заголовок мого зашифрованого файлу в кінці оновиться, однак, у мене є дочекатися завершення цих кроків, перш ніж розпочати завантаження.


Там сотні шестигранних редакторів. Можливо, буде простіше зашифрувати подібний, але менший файл, а не спробувати завантажити два файли 36 Гб в пам'ять.
Рамхаунд

@Ramhound Я б протестував з меншим файлом, тому, гадаю, я прошу концепцію - просто хотів пояснити свою кінцеву мету. Я трохи переставив своє запитання, щоб воно було більш зрозумілим.
SqlRyan

Можливий дублікат інструментів Binary Diff у Windows або Як порівняти бінарні файли в Linux?
Прорив

Відповіді:


2

Зазвичай це певний варіант rsync подібного алгоритму :

* split a file into blocks of x bytes
* build a hash over these x bytes
* compare the hash for each block between both files
* transfer the changed blocks

Це, очевидно, працює лише в тому випадку, якщо файл не змінює всі блоки під час його запису. Таким чином, цей цитований абзац має щось пам’ятати:

Шифрування диска часто використовує режими спеціального призначення, спеціально розроблені для програми. Налаштовані режими шифрування з вузьким блоком (LRW, XEX та XTS) та режими шифрування широкого блоку (CMC та EME) призначені для надійного шифрування секторів диска. (Дивіться теорію шифрування диска)

OpenGPG - це змішана криптосистема (вона змішує асиметричні та симетричні шифри для досягнення своєї мети), зараз я не знаходжу нічого про використані шифри та їх застосування для дельтових рівнів блоку. Ви можете вибрати інше крипто-рішення (наприклад, openssl), грунтуючись на цих спостереженнях: http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html

Це сказав:

є обома інструментами для обчислення двійкової різниці та злиття деталей згодом.

Пов'язане: Інкрементальне (дельта) резервне копіювання зашифрованих даних

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.