Доброго врмени суток. Возникла такая проблема: Етсть USB Flash диск, на нем создано две партиции(открытая и защищенная), допустим по 256Мб. При подключении его к компу WinXp видит только первую партицию, оперделяя размер ФИЗИЧСКОГО диска в 256 мб... Вопрос, можно ли заствить операционку видить диск большего размера чем он есть на самом деле? P.S. Если я правильно понимаю, то Windows определяет размер диска по таблице разделов...Как можно её отредактировать на USB флеш диске?
По таблице разделов можно определить только суммарный размер разделов . Попробуй WinHex'ом, хотя сомневаюсь, что получится. Возможно смысл защиты раздела на Flash как раз и состоит в том, чтобы скрыть часть "физического" диска пока не введешь пароль, ключ, etc.
Читать/псАть можно так: Через DeviceIoControl(IOCTL_DISK_GET_DRIVE_GEOMETRY) можно узнать точные размеры диска. CreateFile('\\.\e:'); // где е - имя диска флэш // После этого можно работать с флэш как с файлом 512мб ReadFile(); Редактируешь FAT SetFilePointer(); // Установка на начало WriteFile(); Только перед этим считай всю флэшку на HDD. Может случиться так, что всё пох... потеряется... Можно восстановить если записать этот файл обратно. Поищи ещё по форуму, где-то я ещё отвечал на подобный вопрос
WinHex дает доступ только к MBR и FAT, их редактирование ни к чему не приводит... SteelRat, спасибо, попробую...
Посмотри на www.t13.org - ATA/ATAPI v.6.0 draft - это стандарт АТА - там для флэш-драйвов есть SECURITY FEATURES - там есть, в частности, команда SET_MAX_ADDRESS, которая задаёт максимально возможный размер диска, который доступен без пароля (при установленном пароле). То есть, совсем не факт, что винда видит это по таблице разделов. Можно конечно забрутфорсить пароль (если не установлен Freezing на три неверных ввода) - но если установлен, время на брутфорс вырастет экспоненциально (после каждых трех попыток надо будет обесточивать флэш или делать reset контроллеру USB)
Ничего подобного http://t13.org/project/d1410r3b-ATA-ATAPI-6.pdf Страница 58 6.15 Host Protected Area feature set A reserved area for data storage outside the normal operating system file system is required for several specialized applications. Systems may wish to store configuration data or save memory to the device in a location that the operating systems cannot change. The optional Host Protected Area feature set allows a portion of the device to be reserved for such an area when the device is initially configured. A device that implements the Host Protected Area feature set shall implement the following minimum set of commands: - READ NATIVE MAX ADDRESS - SET MAX ADDRESS Devices supporting this feature set shall set bit 10 of word 82 to one in the data returned by the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command. In addition, a device supporting the Host Protected Area feature set may optionally include the security extensions. The Host Protected Area security commands use a single command code and are differentiated from one another by the value placed in the Features register. - SET MAX SET PASSWORD - SET MAX LOCK - SET MAX FREEZE LOCK - SET MAX UNLOCK Если девайс ATA compliant, может и поддерживать. Можно взять программу для определения типа девайса на АТА контроллере (на wasm.ru в "Винтах и флоппиках" кажется) - и посмотреть указанные биты. Если они установлены - значит залочено именно этим.
И если таковое установлено (и пароля нет) - можно просто заюзать READ NATIVE MAX ADDRESS - и посекторно считать недоступную область (недоступную обычным чтением)
Ситуация такая: Есть Flash-диск (transcend) с паролем, надо "научиться" получать доступ к закрытой области не зная пароля. (Ограниченииее на 3 ввода есть)... Буду БЕЗГРАНИЧНО благодарен за любую информацию... eugene_ Спасибо за информацию. Можешь по подробнее рассказать о ATA интерфейсе и его взаимосвязи с флешками.
Посмотри в АТА6, там подразделение на два пароля - master пароль и user пароль. То есть, если по недосмотру установлен только user пароль, можно поставить master пароль и сбросить user пароль, войдя под master паролем. Кстати, freeze после трех вводов, кажется, только на user password распространяется. А т.к. пароль там - 32 бита, отбрутфорсить - ерунда (час времени в лучшем случае)
Я посмотрел документацию ссылки на которую даны выше, но немогу понять одного: Как это реализуется на практике? В какой среде разработки и т.п.
Чтением - записью портов АТА контроллера - в "Винтах и флоппиках" есть примеры - с готовым кодом на асме.
Может я чего не понимаю (скорее всего так)... Но какое отношение имеет USB - flash диск к ATA контроллеру? там же IDE интерфейс...