|
7 / 7 / 0
Регистрация: 05.08.2023
Сообщений: 49
|
||||||
Как работать с жестким диском на уровне эквивалетном уровню IRQL DISPATCH или выше?01.09.2023, 19:25. Показов 5130. Ответов 41
Всем привет!
Я пишу свой гипервизор и у меня всё-таки возникла необходимость после выхода из гостевой VM писать что-либо на жесткий диск. строка 55 Кликните здесь для просмотра всего текста
https://github.com/Nitr0-G/SVM... in.cpp#L55 Когда я выхожу из гостевой VM и попадаю к себе, то я перехожу к SVMExitHandler(выше показан пример. Раскидываются коды аналогично того как это делает debug main loop по ExitCode, но только я нахожусь на уровне гипервизора, т.е. по сути на Ring -1 и управляю эксепшионами своего ЦП) Пример с картинкой: По сути я нахожусь на том месте, который я выделил красным квадратом. Моя задача писать из определенного ExitCode, к примеру DB Exception(single step трассировка) на жесткий диск (строка 70) (https://github.com/Nitr0-G/SVM... in.cpp#L70) Использование ZwWriteFile и т.п. API приводит к BSOD из-за того, что они хоть и вызываются формально на IRQL 0, но по сути я нахожусь на максимальном IRQL. В аналогии с Intel это называется VMX root mode(https://docs.hyperdbg.org/tips... -root-mode) у меня соответственно SVM root mode. Так вот встаёт главный вопрос, как драйвер для тех же sata жестких дисков выполняют на них запись? А ещё один вопрос: как происходит запись на RamDisk? Где я могу посмотреть возможные реализации того, что мне нужно и почитать теорию? Т.е. по сути мне нужно написать свою максимально низкоуровневую ZwWriteFile. P.S. Делаю это как свой проект. Сначала я пытаюсь вирутализировать свою систему, потом на этих наработках попытаюсь сделать свой гипервизор типа VirtualBox и т.п. с расширенными возможностями и меньшим детектом того, что Винда работает на гипервизоре типа VmWare со стороны системы и различных вирусов. P.P.S. Надеюсь на любую помощь: Начиная с названий различных книг, которые мне помогут в решении проблемы выше и, заканчивая предложением того, что я могу пореверсить для того, чтобы понять как оно работает.
0
|
||||||
| 01.09.2023, 19:25 | |
|
Ответы с готовыми решениями:
41
Материнская плата работает с одним жестким диском и отказывается работать с другим Компьютер самостоятельно начинает работать с жестким диском после 20-30 минут простоя Проблемы с компом или жестким диском |
|
Эксперт Hardware
|
||||||
| 13.09.2023, 09:01 | ||||||
|
Вот псевдодрайвер на fasm, который обходит все шины PCI в поисках ATA/SATA контроллёров.
Поскольку моя Win7-x64 не хочет его загружать с сообщением "Загрузка драйвера была заблокирована", тестил на вирт.машине VirtualBox - результат на скрине. Кстати почитать по теме: М.Гук "Интерфейсы устройств хранения: ATA, SCSI и другие" https://ru.djvu.online/file/dWZH2qKsGdXAG
1
|
||||||
|
7 / 7 / 0
Регистрация: 05.08.2023
Сообщений: 49
|
||||||||||
| 13.09.2023, 13:22 [ТС] | ||||||||||
|
Сейчас такие скорости: https://youtu.be/z1eelDw3yv4 Извиняюсь, что не отвечал. Экспериментировал со своим кодом и судя из видео выше добился относительно нормальной скорости(адекватной), но хотелось бы, конечно, ещё быстрее, так как в моём случае у меня записываются все адреса всех мнемоник(в примере на видео общее кол-во ASM инструкций в программе: F5015A ), но может быть и больше, также мне ещё предстоит интегрировать многое типа того же дизассемблера, так что предстоит ещё много работы с записью =( Кодярский:
1
|
||||||||||
| 13.09.2023, 13:22 | |
|
Траблы с жестким диском или кривые руки Битва титанов или Недоразумения с жёстким диском Что-то с жестким диском или комп на помойку?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|