Вопрос про разработку драйвера. FASM

Тема в разделе "FASM", создана пользователем Richie, 20 июн 2026.

  1. Richie

    Richie New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2026
    Сообщения:
    12
    upload_2026-6-20_17-46-5.png
    У меня присутствует некий список драйверов, которые я должен сохранять в базу(в моем случае массив), если я вручную буду добавлять каждый драйвер в этот список, то код превратится в простыню на тысячи строк, когда их станет много. Прямолинейно тоже не подходит, будет слишком не читаемо.
    Есть идеи, что можно поделать? Либо забить просто. Сам список хранится в отдельном .inc файле
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.249
    И в ширину простыню растить нельзя и в длину. Идеи какого рода тебе нужны? Я вижу, что каждая запись у тебя занимет две строки, можешь регистрировать имена отдельным макросом, а формировать структуру по списку. В два раза меньше строк.
    Код (ASM):
    1. macro regdrv name,val{
    2.     match any,driver_list \{ driver_list equ driver_list,name,val  \}
    3.     match ,driver_list \{ driver_list equ name,val \}}
    4. macro storedrv [name,val]{
    5.     forward
    6.         dq name
    7.     forward
    8.         name du val,0}
    9. driver_list equ
    10. regdrv name1,'driver1.sys'
    11. regdrv name2,'driver2.sys'
    12. match driver_list,driver_list { storedrv driver_list }
    ЗЫ: то, что имена драйверов в юникоде и занимают по 2 байта на символ (хотя вряд ли там будет не-латиница), похоже тебя волнует меньше.
     
    Richie нравится это.
  3. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    755
    driver_blacklist - криптовать текст, что бы авер не видел. Декриптор под антиэмуль. Штатная схема, формат массивов не важен :preved:
     
  4. Richie

    Richie New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2026
    Сообщения:
    12
    Иронично, но я наоборот антивирус разрабатываю.
    Этот модуль ELAM драйвер
     
  5. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    755
    Richie,

    Спасибо за помощь им, теперь имя можно сделать рандомным :)
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.438
    Если это не компонент для антивируса Бабушкина, то вряд ли стоит хардкодить черный список малварных драйверов прям в коде драйвера. Это не то чтобы правильный подход с точки зрения архитектуры. Если забыть о том, что имя .sys файла может быть произвольным, то правильнее будет держать список в виде подписанного на приватном ключе конфигурационного файла, загружать его из файла, проверять подпись, чтобы никто из злых русских хакеров не смог его подменить.
     
    Richie нравится это.
  7. Richie

    Richie New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2026
    Сообщения:
    12
    Спасибо за совет. Так и сделаю.
     
  8. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
  9. Richie

    Richie New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2026
    Сообщения:
    12
  10. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Richie,

    https://habr.com/ru/companies/alfa/articles/1011302/ интересное веяние. впрочем, так и должно быть.

    чувствую, в новом поколении процессоров прикрутят какой-нибудь новый аппаратный костыль, чтобы еще и это как-то блокировать*, и колесо Сансары сделает еще 1 оборот.

    "Процессоры Intel Tiger Lake используют технологию Intel CET (Control-Flow Enforcement Technology) для аппаратного предотвращения атак типа ROP (Return-Oriented Programming) и JOP (Jump-Oriented Programming)."

    и, конечно же, производительность упадет еще на 30%, новые ОС будут требовать новых Цпу с этим аппаратным костылем, )

    * супер-подпись,

    Как подписываются ELAM‑драйверы?
    Подпись ELAM‑драйверов существенно отличается от процедуры подписания обычных драйверов режима ядра операционной системы Windows. Из‑за того, что данный компонент защиты запускается на самом раннем этапе загрузки и имеет право блокировать другие критически важные модули, Microsoft накладывает на него беспрецедентно жесткие требования безопасности. Процесс верификации и структура цифровой подписи для ELAM состоят из нескольких обязательных критериев:
    1. ELAM‑драйвер должен пройти обязательную процедуру отправки в Microsft через портал оборудования, обычный сертификат подписи кода не подойдет, Microsoft должны самостоятельно подписать бинарный файл своим специальным корневым сертификатом раннего доступа.
    2. Процедура получения такой подписи жестко привязана к участию разработчика в программе Microsoft Virus Initiative (MVI). Это означает, что независимый разработчик или обычная софтверная компания не могут просто так отправить любой драйвер на подпись как ELAM. Вендор обязан официально подтвердить статус разработчика антивирусного программного обеспечения, пройти аудит безопасности и доказать, что компонент действительно выполняет функции защиты системы, а не используется как потенциальный бэкдор, который, наоборот, борется с этими защитниками.


    поймите правильно, я юморю. все это напоминает зашедший в тупик диалог с нейронкой, когда она не может выяснить где ошибка, и прикручивает все новые костыли, доводя код до невообразимого хаоса, и при каждой итерации с умнейшим видом говорит, что код становится лучше и лучше. детекты драйверов по имени.. напомнило какой-то школотроян, где авторы не осилили цикл перебора имен дисков с С: до Z:, и вручную накопипастили по куску кода с намертво вписанными "C:\Windows", "D:\Windows". странно все это. с одной стороны, у нас тензорные ядра на видеокартах с объемом видеопамяти, как хороший HDD лет 20 назад, а с другой -

    upload_2026-7-17_21-28-54.png

    /s

    кончится все тем, что ОС будет целиком в облаке, а пользователь будет лишь работать с терминалом. секурно.
     
  11. Richie

    Richie New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2026
    Сообщения:
    12
    _edge,
    Прочитай внимательнее начало второй главы, если у тебя интерес к коду. Я просто ничего не понял из всего, что тут написано)
     
  12. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    не берите в голову. это sarcasm. просто взляд со стороны. я нисколько не умаляю Ваших скиллов, но все это странное какое-то. реально еще один оборот соревнований снаряда и брони. но в качестве брони используется дуршлаг ).

    они в результате либо придут к концепции "ОС в облаке", либо ремонтом ремонта доведут ОС до нерабочего состояния, когда добавление очередного костыля превысит критическую массу уже налепленных костылей, и все необратимо сломается. ну как сломается, выбор-то будет, либо мириться с тем, что заплатку на очередную 0-day угрозу не наложить, либо наложить, но производительность упадет раза в 2. я бы ставил на второе - "все для Вашей безопасности". заодно будет стимул железо обновить )

    извините, что отвлек и не дал дельных советов по коду.

    фейковые профили рекрутеров в LinkedIn и рассылали жертвам «вакансии» — ISO-файлы с вредоносной начинкой: многоступенчатой цепочкой загрузчиков (RollFling → RollSling → RollMid → KaolinRAT), финальным звеном которой был FudModule — руткит, работающий на уровне ядра.

    е__ться в телевизор! наверное, там инструкция была, как подмонтировать этот ISO, и запустить с него EXE? реально нужно ОС изолировать не от хакеров, а от пользователя )

    https://www.itsec.ru/news/severkoreyskiye-hakeri-priachut-svoy-noviy-troyan-v-vakansiyah-o-rabote

    типа да, "запусти ЕХЕ"

    upload_2026-7-17_21-54-43.png
     
    Последнее редактирование: 17 июл 2026 в 22:59
  13. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    755

    Вложения:

    • cetis.pdf
      Размер файла:
      1,7 МБ
      Просмотров:
      25