Advertisement
Полезные статьи

Что такое инъекция кода в Windows

Advertisement

Инъекция кода распространена в Windows. Приложения «вводят» фрагменты своего собственного кода в другой запущенный процесс, чтобы изменить его поведение. Этот метод можно использовать для добра или зла, но в любом случае это может вызвать проблемы.

Инъекция кода также обычно называется инъекцией DLL, потому что введенный код часто представляет собой файл библиотеки DLL (динамической библиотеки ссылок). Тем не менее, приложения также могут вводить другие типы кода, которые не являются DLL.

Для чего используется инъекция кода

Внедрение кода используется для выполнения всевозможных трюков и функций в Windows. Данная возможность используется как хорошими так и вредоносными программами. Например:

Advertisement
  • Антивирусные программы часто внедряют код в веб-браузеры. Они могут использовать его, например, для мониторинга сетевого трафика и блокировки опасного веб-контента.
  • Вредоносные программы могут добавить код в Ваш веб-браузер, чтобы отслеживать просмотр, украсть защищенную информацию, такую как пароли и номера кредитных карт, и изменить настройки браузера.
  • Stardock’s WindowBlinds, который предназначен для Вашего рабочего стола, внедряет код, чтобы изменить способ рисования окон.
  • AutoHotkey, который позволяет создавать сценарии и назначать для них системные горячие клавиши, внедряет код для выполнения этого.
  • Графический драйвер, например от NVIDIA, внедряет DLL для выполнения различных задач, связанных с графикой.
  • Некоторые программы внедряют библиотеки DLL для добавления дополнительных параметров меню в приложение.
  • Инструменты для обмана с помощью ПК часто внедряют код в игры, чтобы изменить их поведение и получить несправедливое преимущество перед другими игроками.

Является ли инъекция кода плохой

Этот метод постоянно используется широким спектром приложений в Windows. Это единственный реальный способ выполнить множество задач. По сравнению с современной мобильной платформой, такой как iOS от Apple или Android от Google, Windows более мощная ОС, которая предлагает такую гибкость разработчикам.

Конечно, со всей этой силой возникает определенная опасность. Инъекция кода может вызвать проблемы и ошибки в приложениях. Google говорит, что пользователи Windows, у которых есть код, внедренный в браузер Chrome, на 15% чаще подвержены сбоям Chrome, поэтому Google работает над блокировкой этого. Корпорация Майкрософт отмечает, что вредоносное приложение может использовать инъекции кода для вмешательства в настройки браузера, что является одной из причин, по которым он уже заблокирован в Edge.

Microsoft даже предоставляет инструкции по проверке загруженных сторонних DLL в Microsoft Outlook, поскольку они вызывают много сбоев Outlook.

Advertisement

Как проверить внедренные DLL-файлы

Вы можете проверить внедрение кода в своей системе с помощью мощного приложения Process Explorer от Microsoft. Это в основном расширенная версия диспетчера задач, дополненная функциями.

Загрузите и запустите Process Explorer. Нажмите View > Lower Pane View > DLLs или нажмите Ctrl + D.

Related Post

Выберите процесс в верхней панели и посмотрите в нижнюю панель, чтобы увидеть загруженные DLL. Столбец «Company Name» предоставляет полезный способ фильтрации этого списка.

Advertisement

Например, это нормально видеть множество DLL, созданных корпорацией Microsoft, здесь, поскольку они являются частью Windows. Также нормально видеть библиотеки DLL, сделанные той же компанией, что и рассматриваемый процесс, — «Google Inc.» в случае Chrome на скриншоте ниже.

Вы не так много можете сделать, если найдете в Вашей системе инъекцию кода, кроме удаления программы, внедряющей код, чтобы предотвратить возникновение проблем. Например, если Chrome аварийно завершает работу, Вы можете посмотреть, есть ли какие-либо программы, внедряющие код в Chrome, и удалите их, чтобы предотвратить их вмешательство в процессы Chrome.

Как работает инъекция кода

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

Advertisement

Windows включает в себя множество интерфейсов прикладного программирования (API), которые можно использовать для внедрения кода. Процесс может присоединяться к целевому процессу, распределять память, записывать DLL или другой код в эту память, а затем инструктировать целевой процесс для выполнения кода. Windows не запрещает процессам на вашем компьютере мешать друг другу.

Для получения дополнительной технической информации ознакомьтесь с этим сообщением в блоге, в котором объясняется, как разработчики могут внедрять библиотеки DLL, а также смотреть на другие типы инъекций кода в Windows.

В некоторых случаях кто-то может изменить базовый код на диске, например, заменив DLL-файл, который поставляется с ПК-игрой с измененным, чтобы включить обман или пиратство. Это технически не «инъекция кода». Код не вводится в запущенный процесс, но программа вместо этого обманывается при загрузке другой DLL с тем же именем.

Advertisement
Advertisement
Evgen2sat

Последние статьи

Что такое файл .GamingRoot в Windows

Файл .GamingRoot создается приложением Microsoft Xbox в Windows 10 и Windows 11. Это не вирус,…

3 года назад

В чем отличие Wi-Fi 5 от Wi-Fi 6

Если вы хотите купить беспроводное сетевое оборудование, Wi-Fi 5 и Wi-Fi 6 — два наиболее…

3 года назад

Что такое анти-майнинг VPN

Покупая VPN, вы можете время от времени сталкиваться с сервисом, который утверждает, что является VPN…

3 года назад

Насколько безопасны децентрализованные VPN

Если вы рассматривали возможность регистрации в децентрализованной сети VPN, вы, возможно, задавались вопросом, безопасны ли…

4 года назад

В чем разница между децентрализованным VPN и обычным

Возможно, вы уже слышали о децентрализованных VPN или dVPN, сервисах, которые утверждают, что обеспечивают скорость…

4 года назад

Что такое DTS: X

Объемный звук DTS:X повсюду: от AV-ресиверов (AVR) до кинотеатров и проигрывателей Blu-ray. Он обещает предложить…

4 года назад