• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Api

  • Автор темы orcommander
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

orcommander

Народ, я в панике... не могу понять такой момент.
Есть функция DeviceIoControl. С параметром GET_DISK_GEOMETRY - работает как положено, с параметром GET_BITMAP - возвращает код ошибки №1 - неверная функция. Все компилится, никаких ошибок про буфера там или еще что нету.... :(
Пользуюсь студией 2005, диск пробовал открывать для асинхронного и синхронного режимов, пробовал давать права админа (хотя по умолчанию и так даются)... короче, тупик.
Буду благодарен за любые мысли.
Смысл использования данной функции - нужно написать дефрагментатор.
 
E

European

Так а что говорит GetLastError?

Если я правильно понял, то речь идет о флаге FSCTL_GET_VOLUME_BITMAP?
 
O

orcommander

Да, про него.
А ласт эррор говорит "Ошибка №1". В эррор лукапе - неверная функция.
 
E

European

А какая ОС? Требования к флагу видел?
Client - Requires Windows XP or Windows 2000 Professional.
Server - Requires Windows Server 2003 or Windows 2000 Server.
С этим все ОК?
 
O

orcommander

У меня XP SP2, так если я дефрагментатор пишу то я кто: сервер, клиент или...
 
O

orcommander

Ага, посмотрел я про требования.
IOCTL_DISK_GET_DRIVE_GEOMETRY - работает, если я сервер (про клиента понятно),
а FSCTL_GET_VOLUME_BITMAP - не работает.
Я в принципе не сильно себе представляю кто у меня клиент или сервер в случае дефрагментатора, но... простое сравнение говорит, что либо я клиент, либо оно должно работать и на сервере... ? :blink:
 
E

European

Посмотри и вот - может чем поможет
 
O

orcommander

ТО, ЧТО НАДО. Спасибо. С этим я разобрался.

Но есть еще один момент. Не могу передать путь к диску в функцию FindFirstFile. Выдает либо ошибку 2 - не может путь найти, 3 - файл, 123 - синтаксическая ошибка.
Как правильно передать?
Были варианты... да в принципе каких только не было.
 
E

European

Так расскажи в чем проблема с DeviceIoControl была
 
O

orcommander

Ну, в общем проще определенным образом приготовленной репы (читай моей тупизыны) некуда.

Просто есть ANSI и UNICODE версии функций... :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!