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

0
6118
просмотров
Что такое инъекция кода в Windows

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

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

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

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

  • Антивирусные программы часто внедряют код в веб-браузеры. Они могут использовать его, например, для мониторинга сетевого трафика и блокировки опасного веб-контента.
  • Вредоносные программы могут добавить код в Ваш веб-браузер, чтобы отслеживать просмотр, украсть защищенную информацию, такую как пароли и номера кредитных карт, и изменить настройки браузера.
  • 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.

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

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

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

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

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

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

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

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

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

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

Читайте также  Почему нужно использовать 64-битную версию Windows

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

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

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

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя здесь

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.