powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Тонкости вызова системных функций Windows
21 сообщений из 21, страница 1 из 1
Тонкости вызова системных функций Windows
    #38392738
Друзья,
подскажите, какие есть отличия между вызовом обычной функции (т.е. моей, определенной в одной из dll) и системной (т.е. реализованной в одной из dll винды)?

У меня есть такие мысли:
1. Вызов системной функции переводит процессор в режим ядра.
2. Для системных функций работает механизм защиты.

Особенно я не уверен во втором. У Рихтера нашел, что все объекты ядра создаются с указанием Security Attributes, т.е. можно задать права доступа, но с другой стороны у обычных функций типа MessageBox нет атрибута psa (хотя какой-то секьюрный механизм для них должен как-то работать). Как работает эта штука? Есть другие отличия?
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392783
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер Якин,

1. Нет. В режим ядра вызов не переводит. Но функция сама может переключиться в ядро. Пользовательская функция тоже может это сделать теоретически.

2. Никакой защиты нет. Вы можете затереть тела системных функций в своем процессе и ничего вам за это не будет, кроме того что ничего не будет работать. Естественно другие процессы этого не заметят.

Таким образом по факту никаких различий в поведении нет.
Единственное отличие - расположение в адресном пространстве. Часто системные библиотеки загружены в отдельную область адресов и даже имеют фиксированный адрес загрузки.
Но это сделано с целью упрощения АПИ и для оптимизации по скорости, а не связано с защитой.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392794
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите, какие есть отличия между вызовом обычной функции (т.е. моей, определенной в одной из dll) и системной (т.е. реализованной в одной из dll винды)?

Ты будешь наверное долго ржать — никаких отличий нет :-)
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392805
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер Якин,

1. Вызов системной функции переводит процессор в режим ядра.

Нет. Не сразу, потом, код системной Dll может переключиться в режим ядра. Если это нужно.

2. Для системных функций работает механизм защиты.

Да нет там никаких особенно защит...

с указанием Security Attributes, т.е. можно задать права доступа,

Это не то, это атрибуты процесса, просто набор лишних параметров. Они не для защиты ядра от проникновения.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392812
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо заметить, что код выполняющийся в режиме ядра находится за пределами адресного пространства процесса, поэтому никакой необходимости его защищать нет.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392820
Не понял только, как согласовать
Anatoly Moskovsky
Вы можете затереть тела системных функций в своем процессе

и
Anatoly Moskovsky
Часто системные библиотеки загружены в отдельную область адресов

Так все-таки, системные dll грузятся в память как-то не так, как обычные? И как кстати можно затереть код, разве там у страниц памяти не стоит PAGE_EXECUTABLE?

MasterZivТы будешь наверное долго ржать — никаких отличий нет :-)
Странно) Мне этот вопрос задали на собеседовании в одной небезызвестной компании, я тогда не сообразил, но теперь интересно, что они хотели услышать.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392832
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЧасто системные библиотеки загружены в отдельную область адресов
В отдельную область адресов внутри процесса.
Так понятнее?

Кинорежиссер ЯкинИ как кстати можно затереть код, разве там у страниц памяти не стоит PAGE_EXECUTABLE
Такого атрибута нет. Есть PAGE_EXECUTE и он не защищает от записи. Он разрешает выполнение. :)
Для защиты от записи есть другие атрибуты. Но процесс может их устанавливать и снимать когда захочет.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392833
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyВ отдельную область адресов внутри процесса.
А типа для чистой конкретности - в верхний гигабайт, который вроде как начиная с XP
защищён от записи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392835
Anatoly Moskovsky,
ну т.е. обрушить работу системных dll процесс не сможет, т.к. системные dll-ки проецируются в адресное пространство каждого приложения. Тогда действительно непонятно, чем отличается системный и обычный вызов :-(
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392838
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAnatoly MoskovskyВ отдельную область адресов внутри процесса.
А типа для чистой конкретности - в верхний гигабайт, который вроде как начиная с XP
защищён от записи.
Записать туда скорее всего можно. Библиотека detours делает хуки переписывая начало системных функций. И это работало и на XP и на 7.
Не уверен правда что это было в верхнем гигабайте.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392843
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер Якин,

В старых версиях винды (95, 98) системные библиотеки и некоторые их структуры данных были общими физически и без защиты, и процессы могли портить друг друга из-за этого.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392848
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyЗаписать туда скорее всего можно. Библиотека detours делает хуки
переписывая начало системных функций. И это работало и на XP и на 7.
Ох давно я не перечитывал Рихтера... Ну, может, они там спроецированы с флагом
copy-on-write... Вот в 95-й, да, они были тупо общими.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392855
Dimitry Sibiryakov,
то что Рихтер пишет про Windows 2000 в целом актуально для 7-ки и 8-ки?
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392925
И еще вопрос,
у Рихтера я особо не нашел про систему безопасности винды. Раньше мельком слышал про 3 кольца привелегий - это оно и есть?
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392939
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер ЯкинИ еще вопрос,
у Рихтера я особо не нашел про систему безопасности винды. Раньше мельком слышал про 3 кольца привелегий - это оно и есть?
Нет. Это у процессора Intel.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38392956
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер ЯкинРаньше мельком слышал про 3 кольца привелегий - это оно и есть?
ну не 3, а 4.

Windows использует 0 для ядра, 3 для режима пользователя(не понадобилась никому интеловская придумка)
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38393009
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер ЯкинНе понял только, как согласовать
Anatoly Moskovsky
Вы можете затереть тела системных функций в своем процессе

и
Anatoly Moskovsky
Часто системные библиотеки загружены в отдельную область адресов

Так все-таки, системные dll грузятся в память как-то не так, как обычные? И как кстати можно затереть код, разве там у страниц памяти не стоит PAGE_EXECUTABLE?

MasterZivТы будешь наверное долго ржать — никаких отличий нет :-)
Странно) Мне этот вопрос задали на собеседовании в одной небезызвестной компании, я тогда не сообразил, но теперь интересно, что они хотели услышать.

Может быть твой ржак они хотели услышать?
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38393101
MasterZiv,
может быть)

Народ, подскажите ключевые слова\книги что почитать про организацию безопасности в винде. В частности, как винда блокирует доступ к каким-то действиям (например, браузеру - модификация файлов на диске C:), какие механизмы за это отвечают?
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38393256
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер Якин(например, браузеру - модификация файлов на диске C:), какие механизмы за это отвечают?
это исключительно на совести броузера и плагинов.
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38393315
Изопропил,
если приложение запущено не от имени администратора, оно не сможет ничего записать на диск c (кроме папки users\user\...). Дальше, даже являясь администратором, системные файлы винды она мне не даст удалить. И, наконец, некоторые системные процессы менеджер задача убить не дает, даже Unlocker с ними не справляется - это все ведь каким-то механизмом разруливается?
...
Рейтинг: 0 / 0
Тонкости вызова системных функций Windows
    #38393688
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинорежиссер Якин...это все ведь каким-то механизмом разруливается?

лучще гвоорить: "механизмами" (в каждом случаи может быть отличии).

например:
вкрячили драйвер в систему, блокирующий ключик реестра на чтение и запись
HKLM\Software\xru
и фиг вы его прочитаете или перепишите.

удачи вам
(круглый)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Тонкости вызова системных функций Windows
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]