emhanik
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору kavsrf 13:04 08-04-2017 Цитата: Поправил DcsWinCfg (там было открытие в монопольном режиме) | Спасибо! Поигрался — появились вопросы. Попробовал сделать, как на картинке U — внешний том в файле container.hc (100 MB), создан через VeraCrypt, exFAT Утилита показывает: EncryptedAreaStart(U) = 128, EncryptedAreaLength(U) = 102144 V — скрытый том на 30 MB, создан через VeraCrypt, exFAT Утилита показывает: EncryptedAreaStart(V) = 71552, EncryptedAreaLength(V) = 30592 Получается, что правая граница внутреннего тома 30592+71552=102144, а внешнего 102144+128. Для чего этот зазор в 128 KB? Можно ли располагать тома так, чтобы внутренний упирался в конец внешнего? Или нужен промежуток (какой)? W — том внутри V, заголовок создан командой: DcsWinCfg --volume container.hc --hdr-password=W --hdr-pim=0 --hdr-hash=1 --rnd-data rnd_W --hdr-pos=129 --hdr-volume-size=20480 --hdr-enc-start=81664 --hdr-create Как вычислено смещение: EncryptedAreaLength(W) = 20480, EncryptedAreaStart(W) = EncryptedAreaStart(V) + EncryptedAreaLength(V) - EncryptedAreaLength(W). Т.е. том W упирается в конец тома V. Опять же, нужно ли было оставить зазор? Если переместить заголовок V в сектор 0, а заголовок W в сектор 128 и смонтировать том V с защитой от повреждения тома W — будет ли это корректно работать? X — том в диапазоне ~30~70 MB, заголовок создан командой: DcsWinCfg --volume container.hc --hdr-password=X --hdr-pim=0 --hdr-hash=1 --rnd-data rnd_X --hdr-pos=1 --hdr-volume-size=40960 --hdr-enc-start=30592 --hdr-create EncryptedAreaLength(X) = 40960, EncryptedAreaStart(X) = EncryptedAreaStart(V) - EncryptedAreaLength(X). Т.е. тома X и V расположены встык. Можно ли так их располагать? Или нужен промежуток? Y — несуществующий том в диапазоне ~30~100 MB, его заголовок создан для защиты томов X и V при записи на том U: DcsWinCfg --volume container.hc --hdr-password=Y --hdr-pim=0 --hdr-hash=1 --rnd-data rnd_Y --hdr-pos=2 --hdr-volume-size=71552 --hdr-enc-start=30592 --hdr-create EncryptedAreaStart(Y) = EncryptedAreaStart(X), EncryptedAreaLength(Y) = EncryptedAreaStart(V) + EncryptedAreaLength(V) - EncryptedAreaStart(Y). Правильны ли эти формулы для Y? Z — том внутри X, заголовок создан командой: DcsWinCfg --volume container.hc --hdr-password=Z --hdr-pim=0 --hdr-hash=1 --rnd-data rnd_Z --hdr-pos=3 --hdr-volume-size=20480 --hdr-enc-start=51072 --hdr-create EncryptedAreaLength(Z) = 20480, EncryptedAreaStart(Z) = EncryptedAreaStart(X) + EncryptedAreaLength(X) - EncryptedAreaLength(Z). Т.е. ситуация, подобная V и W. И тот же вопрос: будет ли работать защита тома Z при записи в X и нужно ли добавить зазор между этими томами? По-видимому, каждый раз при монтировании того или иного тома нужно указывать, какой заголовок перемещается в 0-й сектор, какой в 128-й. Например, батником Заметил, что если переместить заголовок Z на 128-й сектор и попытаться смонтировать (как скрытый), то VC сообщает о якобы неправильном пароле. Хотя VC принимает этот пароль, если использовать его в защите от повреждений (монтировать X с защитой Z). 22:15 01-04-2017 Цитата: По структуре заголовка лучше смотреть первоисточник. Процедура разбора. src/Common/Volumes.c:415 | Открыл, но пока мне не по зубам. А поверхностно вижу только названия значений, но не их смысл. Цитата: для несистемного раздела формат как для файла (можно пробовать скормить путь к разделу \\.\ или \\?\ (не пробовал)) | Подставлял "\\.\X:" и "\\?\X:" — работают. А как, если раздел не имеет буквы? Имя вида "\Device\Harddisk0\Partition1" утилита не принимает. | Всего записей: 979 | Зарегистр. 18-12-2011 | Отправлено: 18:56 10-04-2017 | Исправлено: emhanik, 20:56 10-04-2017 |
|