ViorDash 0 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 9 hours ago, zombi said: Что, где и зачем я должен дизасмом смотреть? Как осуществляется доступ к диску у Win32DiskImager. Наверняка по комбинации CreateFile / DeviceIoControl можно отыскать. К тому же для виндовых прог у IDA есть отладчик. Ставите бряку на, например CreateFile, и смотрите какие параметры передаются. И затем в своей проге установить теже самые параметры Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 19 hours ago, xvr said: (Нужен "\\.\PhysicalDrive0" - вместо 0 ваш номер) Таки да, Вы правы. Если открыть диск как физический, то ReadFile читает любые диски правильно, независимо от того есть ли на диске хоть какая FS или нет. Однако, теперь перестала работать запись (WriteFile)! Винда не даёт записать вообще ничего на любой диск открытый как физический. Как побороть? PS. пытаюсь писать блоками по 256 секторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 6 hours ago, zombi said: Винда не даёт записать вообще ничего на любой диск открытый как физический. Нужны права (как минимум запуск от администратора). Возможно понадобится поколдовать и с полученным хэндлом (через DeviceIOControl). Как минимум его залочить > Так у меня же съёмный носитель, поэтому открываю так : "\\.\E:" Так открываются вольюмы, т.е. Windows должна прочесть partition table и понять, что именно там написано - иначе вольюм не получится (т.к. он представляет собой смонтированный партишен) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 30 октября, 2020 Опубликовано 30 октября, 2020 · Жалоба 3 minutes ago, xvr said: Как минимум его залочить Ясно. Спасибо. Разобрался. Действительно DeviceIoControl с кодом FSCTL_LOCK_VOLUME оказалось достаточно для разблокировки записи! Залочить надо все логические диски имеющиеся на физическом носителе. Но перед этим нужно определить какой лог.диск на каком физ.диске находится и сколько их на нём вообще с помощью DeviceIoControl с кодом IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS. Запутанно конечно, однако это работает! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 4 ноября, 2020 Опубликовано 4 ноября, 2020 · Жалоба Можно ли считать неисправной (и/или ожидать скорой поломки) CF карту, если у неё скорость чтения меньше чем скорость записи? Или это вполне нормально для такого типа карт памяти? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться