Cl dll синий экран windows 10

Содержание

Загрузите ci.dll и исправьте ошибки

Cl dll синий экран windows 10

Иногда система Windows отображает сообщения об ошибках поврежденных или отсутствующих файлов ci.dll. Подобные ситуации могут возникнуть, например, во время процесса установки программного обеспечения.

Каждая программа требует определенных ресурсов, библиотек и исходных данных для правильной работы. Поэтому поврежденный или несуществующий файл ci.dll может повлиять на неудачное выполнение запущенного процесса.

Файл был разработан для использования с программным обеспечением . Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с ci.dll на вашем устройстве. Вы также можете скачать файл ci.dll, совместимый с устройствами Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, которые (скорее всего) позволят решить проблему.

Совместим с: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista

Существует несколько типов ошибок, связанных с файлом ci.dll. Файл ci.

dll может находиться в неправильном каталоге файлов на вашем устройстве, может отсутствовать в системе или может быть заражен вредоносным программным обеспечением и, следовательно, работать неправильно.

Ниже приведен список наиболее распространенных сообщений об ошибках, связанных с файлом ci.dll. Если вы найдете один из перечисленных ниже (или похожих), рассмотрите следующие предложения.

  • ci.dll поврежден
  • ci.dll не может быть расположен
  • Ошибка выполнения – ci.dll
  • Ошибка файла ci.dll
  • Файл ci.dll не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл ci.dll
  • Файл ci.dll не может быть загружен
  • Файл ci.dll не существует

Не удалось запустить приложение, так как отсутствует файл ci.dll. Переустановите приложение, чтобы решить проблему.

OK

Проблемы, связанные с ci.dll, могут решаться различными способами. Некоторые методы предназначены только для опытных пользователей. Если вы не уверены в своих силах, мы советуем обратиться к специалисту.

К исправлению ошибок в файле ci.dll следует подходить с особой осторожностью, поскольку любые ошибки могут привести к нестабильной или некорректно работающей системе.

Если у вас есть необходимые навыки, пожалуйста, продолжайте.

Как исправить ошибки ci.dll всего за несколько шагов?

Помните, прежде чем предпринимать какие-либо действия, связанные с системными файлами, сделайте резервную копию ваших данных!

Ошибки файла ci.dll могут быть вызваны различными причинами, поэтому полезно попытаться исправить их различными способами.

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом ci.dll или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

Если по какой-либо причине в вашей системе еще не установлено антивирусное программное обеспечение, вы должны сделать это немедленно.

Незащищенная система не только является источником ошибок в файлах, но, что более важно, делает вашу систему уязвимой для многих опасностей.

Если вы не знаете, какой антивирусный инструмент выбрать, обратитесь к этой статье Википедии – сравнение антивирусного программного обеспечения.

Установка соответствующих исправлений и обновлений Microsoft Windows может решить ваши проблемы, связанные с файлом ci.dll. Используйте специальный инструмент Windows для выполнения обновления.

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Центр обновления Windows» в поле поиска.
  3. Выберите подходящую программу (название может отличаться в зависимости от версии вашей системы)
  4. Проверьте, обновлена ​​ли ваша система. Если в списке есть непримененные обновления, немедленно установите их.
  5. После завершения обновления перезагрузите компьютер, чтобы завершить процесс.

Помимо обновления системы рекомендуется установить последние версии драйверов устройств, так как драйверы могут влиять на правильную работу ci.dll или других системных файлов. Для этого перейдите на веб-сайт производителя вашего компьютера или устройства, где вы найдете информацию о последних обновлениях драйверов.

Проверка системных файлов – это инструмент Microsoft Windows.

Как следует из названия, инструмент используется для идентификации и адресации ошибок, связанных с системным файлом, в том числе связанных с файлом ci.dll.

После обнаружения ошибки, связанной с файлом %fileextension%, программа пытается автоматически заменить файл ci.dll на исправно работающую версию. Чтобы использовать инструмент:

  1. Откройте меню «Пуск» в Windows.
  2. Введите “cmd” в поле поиска
  3. Найдите результат «Командная строка» – пока не запускайте его:
  4. Нажмите правую кнопку мыши и выберите «Запуск от имени администратора»
  5. Введите “sfc / scannow” в командной строке, чтобы запустить программу, и следуйте инструкциям.

Другой подход заключается в восстановлении системы до предыдущего состояния до того, как произошла ошибка файла ci.dll. Чтобы восстановить вашу систему, следуйте инструкциям ниже

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Восстановление системы» в поле поиска.
  3. Запустите средство восстановления системы – его имя может отличаться в зависимости от версии системы.
  4. Приложение проведет вас через весь процесс – внимательно прочитайте сообщения
  5. После завершения процесса перезагрузите компьютер.

Если все вышеупомянутые методы завершились неудачно и проблема с файлом ci.dll не была решена, перейдите к следующему шагу. Помните, что следующие шаги предназначены только для опытных пользователей

Загрузите и замените файл ci.dll

Последнее решение – вручную загрузить и заменить файл ci.dll в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл ci.dll.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов ci.dll.

  • Windows 10: C:\Windows\System32\
  • Windows 8.1: C:\Windows\System32\
  • Windows 8: 1: C:\Windows\System32\
  • Windows 7: C:\Windows\System32\
  • Windows Vista: C:\Windows\System32\

Если действия не помогли решить проблему с файлом ci.dll, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы – неправильный процесс установки системы может привести к потере данных.

Список версий файлов

Размер файла 573504 bytes

Подробности файла
MD58629f66f7a47ec930676fafe0b11bcda
SHA1433798be7ab025b8295cfe368294e67177feb47b
SHA2562aff6fe78cfcf12096297ecd63e71a45c754f7417b1fce71a97df363d5ec531d
CRC32a3048bb8
Пример расположения файлаC:\Windows\System32\

Размер файла 491744 bytes

Подробности файла
MD5c63769a3eebc211ba848082543de76
SHA1607a1f90dbf67ee818d2ae53c5c9d29fa1220490
SHA2567ffe30d2edc3d74fa4dd2114560d0ef77d05fcf0ade52e2bac9c25607274b298
CRC32af8950ea
Пример расположения файлаC:\Windows\System32\

Размер файла 457120 bytes

Подробности файла
MD53f82768b29d54e87d94e158f963e37e4
SHA135688db260c67058affc63a5d66e7d3ba31b1072
SHA2569c7b8b6a298f11763e89b36f4cc1cf11493eb247c33a6ac57728411d6dcddac1
CRC329b09978b
Пример расположения файла1: C:\Windows\System32\

Размер файла 780008 bytes

Подробности файла
MD511338e0557b07bc32cdb980b6edb35aa
SHA123107b72bec2f9c9404ce885442aa630d98b5f95
SHA256e0b012fddf40d280068c33bbc41cbf14e88e49fd237d61c455c6e69772ecfdaf
CRC3264f9ac73
Пример расположения файлаC:\Windows\System32\

Размер файла 380392 bytes

Подробности файла
MD557d469072472c9f14125a347c522dd18
SHA109efc4f32f10dc64282ac5028ba5869e36f75b8a
SHA256716d93d4711f62c8c7e6116ce3531a2178bf82c730b61d75a59db3dbed9a972c
CRC323806780a
Пример расположения файлаC:\Windows\System32\

Источник: https://www.winpcware.com/ru/extension/dll/ci-dll

Синий экран в Windows 10: «На вашем ПК возникла проблема…» (а за ним перезагрузка компьютера)

Cl dll синий экран windows 10

Здравствуйте.

Синим экраном пользователи прозвали ошибку ядра ОС, которая внезапно возникает (без предупреждения и не давая сохранить документы) и вынуждает компьютер уйти на перезагрузку. Причем, возникать она может как на настольных ПК, так и на ноутбуках (и Windows 10 тоже не исключение, хотя система стала гораздо стабильнее в этом плане). Пример ошибки см. на фото ниже.

Не могу не отметить, что подобная ошибка “коварная”, т.к. не всегда просто найти ее причину (к тому же, она может возникнуть на этапе загрузки ОС и не позволить исправить ее).

Как бы там ни было, в этой заметке представлю несколько наиболее типичных причин появления синего экрана, а также способы их устранения. Заметка рассчитана на начинающих пользователей.

И так, ближе к теме…

На вашем ПК возникла проблема и его необходимо перезагрузить / Пример подобной ошибки

*

При очевидной причине (установка сбойного драйвера, обновления ОС и пр.)

Под очевидной я понимаю ту причину, которая привела к ошибке сразу же после вашего действия (и вы это заметили). Например, установили новую программу — появился синий экран ⇒ причина понятна…

Источник: https://ocomp.info/siniy-ekran-win10.html

Как исправить синий экран смерти Windows 10: профилактика появления и способы устранения

Cl dll синий экран windows 10

Во время работы за компьютером может появиться критическая ошибка, характерной чертой которой является синий экран. При этом система автоматически перезагружается, но повторно не запускается. Для устранения неисправности потребуется разобраться в причинах появления и разработать план по устранению.

Причины появления

Появиться синий экран при загрузке Windows 10 или непосредственно во время работы за компьютером или ноутбуком может по следующим причинам:

  • влияние вирусов;
  • некорректная работа драйверов оборудования;
  • неверно выполненный разгон видеочипа или центрального процессора;
  • конфликт антивирусного программного обеспечения (ПО);
  • аппаратная неисправность;
  • повреждение системных файлов;
  • неверно заданная конфигурация BIOS;
  • перегрев элементов оборудования компьютера;
  • установка конфликтующих драйверов;
  • инсталляция проблемных обновлений.

Способы исправления синего экрана в Windows 10

Убрать синий экран смерти в Windows 10 можно с помощью предустановленных средств операционной системы (ОС). Чтобы воспользоваться специальными инструментами, предварительно потребуется запустить персональный компьютер (ПК) в безопасном режиме.

Загрузка в безопасном режиме

Если у пользователя есть доступ к рабочему столу ОС, для входа в безопасный режим потребуется:

  1. Выполнить поиск по запросу «Конфигурация системы».
  2. В результатах выдачи кликнуть по одноименному пункту.
  1. В новом окне перейти на вкладку «Загрузка».
  2. Поставить отметку напротив «Безопасный режим», переместить переключатель в положение «Сеть».
  3. Нажать Применить, ОК.

Система предложит совершить перезагрузку, следует подтвердить, чтобы осуществить вход в безопасный режим.

Если синий экран появляется при запуске ОС, необходимо воспользоваться заранее подготовленной загрузочной флешкой Windows 10:

  1. На заглавном экране инсталлятора нажать сочетание Shift + F10
  2. В окне консоли ввести команду bcdedit /set {default} safeboot network, нажать Enter.
  1. Закрыть окно, выполнить перезапуск ПК.

При последующей загрузке устройство автоматически войдет в безопасный режим, где можно будет исправить критическую ошибку.

Удаление вирусов и вредоносных программ

Если причиной появления экрана BSOD являются вирусные программы, потребуется в безопасном режиме запустить сканирование системы антивирусом. В качестве примера будет приведено использование штатного ПО:

  1. Вызвать окно параметров, нажав Win + I.
  2. Перейти в раздел «Обновление и безопасность».
  1. Открыть вкладку «Безопасность Windows».
  2. Кликнуть по пункту «Защита от вирусов и угроз».
  3. Нажать по гиперссылке «Параметры сканирования».
  1. Установить переключатель в положение «Полное сканирование», щелкнуть по кнопке Выполнить сканирование сейчас.

При обнаружении вредоносного кода необходимо предпринять рекомендованные утилитой действия.

Обратите внимание! В качестве альтернативы, можно воспользоваться антивирусными программами от сторонних разработчиков.

Деинсталляция неисправного обновления

Если экран с ошибкой появился после инсталляции обновлений, потребуется выполнить удаление последних апдейтов.

Пошаговая инструкция:

  1. Запустить окно параметров нажатием Win + I, перейти в раздел «Обновление и безопасность».
  2. Нажать по пункту «Просмотр журнала обновлений».
  1. Перейти по ссылке «Удалить обновления».
  1. Отсортировать список по столбику «Установлено».
  1. Удалить последние апдейты, нажав по названию правой кнопкой мыши и выбрав пункт «Удалить».

Проверка жесткого диска

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

Руководство по использованию:

  1. Запустить файловый менеджер, нажав по иконке «Проводник» на панели задач или запустив ярлык «Этот компьютер».
  1. Нажать правой кнопкой мыши по диску C, выбрать опцию «Свойства».
  1. На вкладке «Сервис» кликнуть по кнопке Проверить.
  1. Подтвердить запуск операции, выбрав пункт «Проверить диск».

Проверка оперативной памяти

Оперативно запоминающее устройство (ОЗУ) тоже может быть причиной появления ошибки. Для выяснения этого потребуется воспользоваться специальным инструментом:

  1. Запустить интерпретатор консоли клавишами Win + R.
  2. Ввести команду mdsched.exe, нажать ОК.
  1. Подтвердить запуск проверки, кликнув по пункту «Выполнить перезагрузку и проверку».

Обратите внимание! Более подробный отчет о работе оперативной памяти может предоставить утилита MemTest86.

Использование точки восстановления

Если во время использования работоспособной ОС были созданы точки восстановления, можно воспользоваться специальной утилитой для отката.

Пошаговое руководство:

  1. Нажать правой кнопкой мыши по значку «Этот компьютер», выбрать пункт «Свойства».
  1. На боковой панели слева перейти по гиперссылке «Защита системы».
  1. Кликнуть по кнопке Восстановить.
  1. На заглавном окне Мастера нажать Далее, затем выбрать ранее созданную контрольную точку и кликнуть Далее.
  2. Подтвердить выполнение операции, щелкнув по Готово.

Сброс до заводских настроек

В случае отсутствия точек восстановления, можно воспользоваться откатом системы до заводских настроек. Для выполнения поставленной задачи необходимо:

  1. Запустить окно параметров, нажав Win + I.
  2. Перейти в раздел «Обновление и безопасность».
  3. На вкладке «Восстановление» нажать кнопку Начать, размещенную в блоке «Вернуть компьютер в исходное состояние».
  4. В диалоговом окне подтвердить действие, выбрав один из вариантов: «Сохранить мои файлы» или «Удалить все». Второй способ отката повышает шансы на успешное устранение неисправности.
  5. Запустить процесс сброса, кликнув по кнопке Заводской.

Профилактика появления BSOD

В случае успешного избавления от проблемы следует придерживаться нижеописанным рекомендациям. Это позволит предупредить появление синего экрана и при необходимости упростит повторное устранение.

Отключение автоматической перезагрузки

По-умолчанию в операционной системе выставлен параметр, который выполняет автоматическую перезагрузку ПК при появлении синего экрана. Чтобы отключить эту опцию и иметь возможность детально ознакомиться с отчетом об ошибке, потребуется сделать следующее:

  1. Открыть свойства компьютера, кликнув по ярлыку «Этот компьютер» и выбрав одноименный пункт.
  2. Перейти по гиперссылке «Дополнительные параметры», которая расположена на боковой панели слева.
  3. На вкладке «Дополнительно» нажать по кнопке Параметры, находящейся в блоке «Загрузка и восстановление».
  4. В разделе «Отказ системы» убрать флажок с пункта «Выполнить автоматическую перезагрузку».
  5. Нажать ОК.

Регулярная проверка системы на наличие вирусов

Вирусное программное обеспечение способствует появлению критических ошибок в ОС. Чтобы исключить влияние вредоносного кода, систематически необходимо выполнять полное сканирование системы антивирусом. Можно воспользоваться штатным средством, как было описано ранее, либо применить приложения от сторонних разработчиков:

Обновление Windows

Следует периодически выполнять проверку обновлений с последующей инсталляцией. Это позволит получать свежие пакеты системного программного обеспечения, которые предотвращают появление неисправностей.

Пошаговое руководство:

  1. Запустить параметры системы посредством кнопок Win + I.
  2. Перейти в раздел «Обновление и безопасность».
  3. Нажать Проверить наличие обновлений.

Обратите внимание! Если пакеты данных были загружены системой автоматически, на странице отобразится перечень апдейтов. Там же можно обновиться.

Установка последних версий драйверов оборудования

Устаревание драйверов может привести к появлению синего экрана. Для предотвращения потребуется регулярно выполнять проверку новых версий ПО. Рекомендуется воспользоваться специальными программами для автоматического поиска и инсталляции драйверов, например:

Заключение

Описанные способы помогут эффективно избавиться от проблемы. Позволят увеличить шансы на успешное восстановление работоспособности компьютера. В случае устранения ошибки требуется периодически проводить профилактические мероприятия, направленные на предупреждение повторного появления синего экрана.

Источник: https://NaladkaOS.ru/windows-10/kak-ispravit-siniy-ekran-smerti.html

Как исправить синий экран смерти (BSOD) в Windows 10

Cl dll синий экран windows 10

Для пользователей Windows 10 уже не удивительно столкнуться с возникновением синего экрана смерти. BSOD, известный как STOP-ошибка, — является по сути самым известным экраном смерти среди прочих.

В предыдущей статье мы рассмотрели ошибки Windows связанные с понятием «Экран смерти», в частности с наиболее популярным синим экраном смерти BSOD.
Итак, что если вам довелось столкнуться с этой неисправностью на своем компьютере? Есть несколько способов исправить, преследующую пользователей Windows 10, неполадку.

Отключить автоматическую перезагрузку.

В большинстве случаев в Windows 10 по умолчанию включен перезапуск в случае возникновения STOP-ошибки. В этой ситуации у вас нет достаточно времени, чтобы записать код ошибки, связанный с BSOD. Чтобы начать процесс исправления сбоя, нужно на некоторое время удержать на экране сообщение об ошибке.

Как это сделать:

  • 1. Щелкните правой кнопкой мыши по Мой компьютер.
  • 2. Перейдите в раздел Свойства.
  • 3. В левой части выберите Дополнительные параметры системы.
  • 4. В разделе Загрузка и восстановление нажмите Настройки.
  • 5. Теперь в разделе Отказ системы снимите галочку с Выполнить автоматическую перезагрузку.
  • 6. Нажмите ОК, чтобы сохранить и продолжить.

Проверьте систему на наличие вирусов.

Одной из причин появления BSOD на вашем ПК с операционной системой Windows 10 является повреждение данных. Помимо обычных сценариев, данные на компьютере могут быть повреждены из-за некоторых вредоносных программ.

Таким образом, если вам доводится видеть синий экран смерти Windows 10 чаще обычно, воспользуйтесь антивирусным программным обеспечением для полного сканирования системы. Защитник Windows, антивирус по умолчанию в Windows 10, тоже может быть хорошим вариантом.

Обновление Windows.

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

Это один из наиболее важных моментов, который необходимо учесть на пути к исправлению синего экрана смерти или даже предотвращения его появления.

Пользователям Windows 10 в большинстве случаев не нужно делать ничего дополнительно, поскольку обновления системы устанавливаются автоматически, но этот процесс можно остановить.

Обновление драйверов оборудования и прошивки.

Неисправные драйверы на вашем ПК тоже могут привести к появлению синего экрана смерти. Таким образом, обновление или восстановление программного обеспечения способно избавить устройство от BSOD.

В настоящее время о большинстве комплектующих заботятся универсальные драйверы Windows. Однако большинство — это не все. Драйверы, которые ваша операционная система на может обновить автоматическим, вам придется искать самостоятельно на сайте производителя.

Вместе с этим ваш BIOS или UEFI должны быть обновлены до своей последней версии. Не забудьте проверить, сталкиваются ли ваши комплектующие с чрезмерной температурной нагрузкой, в этом вам поможет утилита Speccy.

Более высокие температуры могут быть вызваны пылевым засорением вентилятора. Чтобы предотвратить это, необходимо регулярно чистить компьютер.
Вызывать BSOD могут и подключаемые устройства, такие как USB-накопители, принтеры, геймпады и т.д.

Загрузка в безопасный режим.

Когда вы запускаете компьютер с помощью безопасного режима, загружаются только основные службы Windows и системные драйверы. Если вам не довелось столкнуться с синим экраном смерти, можно предположить, что виновник ошибки — сторонний драйвер.

Как воспользоваться безопасным режимом?

Ранее, в случае с Windows XP и 7, вы могли использовать утилиту msconfig для загрузки этого режима или же с помощью клавиши F8 при старте запуска. Windows 10 добавила один новый удобный вариант для доступа к безопасному режиму.

  • 1. Откройте Настройки > Обновление и восстановление > Восстановление.
  • 2. В разделе Расширенный запуск нажмите Перезагрузить сейчас. Подождите пока появится окно с дополнительными параметрами запуска.
  • 3. Нажмите Устранение неполадок.
  • 4. На следующем экране выберите Параметры запуска, кликните на Перезагрузка для выхода в безопасный режим.

Воспользуйтесь восстановлением системы.

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

Можете попробовать найти различные настройки, связанные в системой восстановления Windows 10 в Панели управления > Восстановление.

Чтобы откатить систему до предыдущей точки восстановления, нажмите Открыть восстановление системы. Чтобы создать новую точку, нажмите Настроить восстановление системы > Создать.

Скорее всего синий экран смерти будет исправлен, если это связано с недавними изменениями на вашем компьютере.

Исправление синего экрана смерти с помощью Устранения неполадок Windows.

Попробуйте воспользоваться встроенным в систему инструментом устранения неполадок. Чтобы найти его, откройте Настройки > Обновление и безопасность > Устранение неполадок.

Под заголовком Устранение неполадок вы можете увидеть средство по исправлению ошибок, вызывающих остановку или непредвиденный перезапуск системы Windows.

Удалите неисправное обновление Windows.

Во время установки обновления Windows в редких случаях может произойти прерывание процесса и такие инциденты способны привести к появлению синего экрана смерти. Самый простой способ исправить BSOD в Windows 10 — удаление ошибочного обновления. Аналогично нужно поступать и с приложениями, которые могли бы повредить важные файлы на вашем ПК.

Вы можете удалить последнее обновление Windows, посетив Настройки > Обновление и восстановление > Центр обновления Windows > Удалить обновления.

Переустановите Windows, чтобы исправить синий экран смерти.

Очевидно, что самый последний способ устранить синий экран смерти — полная переустановка операционной системы Windows. Для пользователей, работающих с Windows 10 или 8.1 существует встроенная утилита для переустановки, не требующая наличия специального установочного носителя. Для Windows 7 вам придется ставить систему с помощью загрузочного USB или компакт-диска.

Если в BSOD не виновно непосредственно ваше оборудование, в таком случае вышеперечисленные советы и способы должны вам помочь. Если же проблема заключается в комплектующих, вам придется его заменить.

На всякий случай, если потребуется восстановление информации с жесткого диска, вам помогут инструменты Starus Recovery. Cкачать и опробовать программы для восстановления удаленных данных можно совершенно бесплатно!

***
Источник: www.starusrecovery.ru

Источник: https://zen.yandex.ru/media/starusrecovery/kak-ispravit-sinii-ekran-smerti-bsod-v-windows-10-5bf536a10b020c00aaf31468

ci.dll – библиотека проверки цифровых подписей

Cl dll синий экран windows 10

  authenticode, digest, ntoskrnl.exe, RSA, SHA-1, SHA-256, SHA-384, SHA-512, signature, winload.exe

И последним этапом в цепочке проверки целостности кода стадии загрузки 32-битной операционной системы Windows 7 является библиотека ci.dll (именуемая разработчиками Модулем Целостности Кода, Code Integrity Module).

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

Таким образом, можно сделать вывод, что фактически проверке по задумке разработчиков, подлежат только ключевые образы, являющиеся для системы критичными в плане безопасности. Область действия функционала ci.

dll ограничивается только локальной системой, то есть той, на которой непосредственно происходит выполнение кода функций, иначе говоря библиотека является ни чем иным как изолированным идентификатором безопасности локальной системы.
Теперь, собственно, сделаем небольшое отступление для того, что бы дать краткое описание необходимых для понимания происходящего механизмов. С определенного времени в Windows появились так называемые сертификаты подписи кода.

Сертификат подписи кода (Code Signing Certificate) – цифровой “документ” для программного обеспечения (бинарные модули/скрипты), удостоверяющий автора программы и гарантирующий целостность (неизменность) кода.

Получается, что введение подобного типа сертификатов призвано обеспечить:

  • проверка подлинности кода;
  • проверка целостности кода;

Существует несколько видов сертификатов подписи кода, но в контексте данного материала нас интересуют лишь следующие:

  • Цифровая подпись Authenticode (Authenticode Signing) – сертификат, предназначающийся для удостоверения кода (программ/скриптов) пользовательского режима;
  • Цифровая подпись модулей режима ядра (Kernel Mode Signing) – сертификат, позволяющий удостоверять модули, предназначенные для работы в режиме ядра (нативные библиотеки/драйвера);

Цифровая подпись Authenticode используется для подписи 32- и 64-битных исполняемых файлов (.exe, .dll, .cab .msi, и некоторые другие). Помимо этого, позволяет подписывать код для Microsoft Office, Microsoft VBA, Silverlight 4.

Цифровая подпись (сертификат разработчика) модулей режима ядра (Kernel Mode) позволяет подписывать приложения, предназначенные для работы в режиме ядра.

Для 64-битных версий операционных это имеет особое значение, поскольку для систем данной разрядности (начиная с Windows Vista) необходимо, чтобы все kernel-mode-приложения были подписаны сертификатом, выпущенным доверенным центром сертификации.

Как вы уже поняли, перечисленный перечень удостоверяющих процедур призваны осуществить функции, предоставляемые (экспортируемые) библиотекой ci.dll.
Справедливы следующие утверждения:

  • Библиотека ci.dll присутствует в операционных системах Windows 7 и более поздних.
  • Библиотека ci.dll функционирует в только в ситуации, когда Windows загружается в штатном (нормальном) режиме загрузки, подразумевающем отключенный режим отладки (Debug mode) и включенную проверку целостности драйверов (ENABLE_DRIVER_INTEGRITY).
  • основное назначение библиотеки ci.dll – проверка целостности драйверов и компонентов (подписанных цифровой подписью). Поэтому, логично что функции библиотеки ci.dll могут возвращать запрашивающему коду некий статус, сигнализирующий об успешном/неудачном прохождении вышеуказанных проверок целостности.
  • Библиотека ci.dll обеспечивает поддержку следующих алгоритмов: проверка цифровой подписи RSA PKCS#1 (v1.5), хэш SHA-1, хэш SHA-256, хэш SHA-384, хэш SHA-512.
  • Библиотека ci.dll обеспечивает на этапе инициализации тесты собственной целостности с использованием следующих алгоритмов: SHS (SHA-1) проверка известного ответа, SHS (SHA-256) проверка известного ответа, SHS (SHA-512) проверка известного ответа, RSA проверка на основе теста с использованием известной подписи формата PKCS#1 v1.5.

Теперь для лучшего понимания следующего далее материла дадим пару определений.

Выборка (дайджест, digest) – это блок данных фиксированной длины, выделенный (выбранный) из всего набора данных, требующих проверки.

Подпись (signature) – это зашифрованный определенным образом (с использованием приватного ключа) хеш выборки от некоего блока данных (сообщения/файла).

Экспортируемые и внутренние функции библиотеки:

ФункцияОписаниеФункцияОписание
CiCheckSignedFileДля выборки и подписи Authenticode, проверяет можно ли получить выборку из подписи и что сама подпись является подлинной. (Опционально) может возвращать информацию о подписи.
CiFindPageHashesInCatalogДля выборки и подписи Authenticode первой страницы PE-образа, подтверждает что выборку можно получить из .cat-файла. (Опционально) может возвращать информацию по каталогу.
CiFindPageHashesInSignedFileДля выборки и подписи Authenticode первой страницы PE-образа, проверяет можно ли получить выборку из подписи и что сама подпись является подлинной. (Опционально) может возвращать информацию о подписи.
CiFreePolicyInfoОсвобождает память, выделенную ранее функциями CiVerifyHashInCatalog, CiCheckSignedFile, CiFindPageHashesInCatalog и CiFindPageHashesInSignedFile. Исключительно внутренняя сервисная функция.
CiGetPEInformationФункция возвращает системные конфигурационные данные, связанные с подписанным (защищенным) образом.
CiInitializeФункция проверки кода ядра и начальной (инициализации) настройки адресов функций обратного вызова для последующего обращения.
CiVerifyHashInCatalogДля Authenticode-выборки файла, проверяет что выборку можно получить из .cat-файла. (Опционально) может возвращать информацию по каталогу.
CiValidateImageHeaderПроверяет заголовки исполняемого образа.
CiValidateImageDataПроверяет данные секций исполняемого образа.

Из ядра Windows 7, например, на этапе начальной загрузки, вызываются функции CiInitialize, CiValidateImageHeader, CiValidateImageData. Если проверка собственной целостности не проходит, то функция CiInitialize возвращает статус STATUS_UNSUCCESSFUL, в этом случае загрузка операционной системы прекращается с ошибкой.

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

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

Отключение проверки образов

Все представленные в данном разделе модификации приведены сугубо для ознакомления и выполнялись исключительно из исследовательских соображений с единственной целью определения причин зависания процедуры загрузки операционной системы на ранних этапах (на этапе выполнения модулей winload.exe/ntoskrnl.exe).

Отдельным довеском публикую алгоритмы изменения исходного кода библиотеки. В одном из экспериментов с 32-битной реализацией Windows 7 потребовалось отключение проверки целостности модулей начальной загрузки.

Конечно же, подобная возможность официально имеется для 32-битных операционных систем Windows, тем не менее были выявлен ряд причин по которым требовалось ручное, принудительное изменение кода.

Интерес для нас представляет код функции CiGetPEInformation:

PAGE:17896430 ; =============== S U B R O U T I N E ======================================= PAGE:17896430 PAGE:17896430 ; Attributes: bp-based frame PAGE:17896430 PAGE:17896430 ; __stdcall CiGetPEInformation(x, x, x) PAGE:17896430 public _CiGetPEInformation@12 PAGE:17896430 _CiGetPEInformation@12 proc near PAGE:17896430 8B FF mov edi, edi PAGE:17896432 55 push ebp PAGE:17896433 8B EC mov ebp, esp PAGE:17896435 5D pop ebp PAGE:17896436 E9 1B 98 00 00 jmp _PEProcessDispatch@12 PAGE:17896436 _CiGetPEInformation@12 endp PAGE:17896436 PAGE:17896436 ; —————————————————————————

PAGE:17896430                         ; =============== S U B R O U T I N E =======================================

PAGE:17896430

PAGE:17896430                         ; Attributes: bp-based frame

PAGE:17896430

PAGE:17896430                         ; __stdcall CiGetPEInformation(x, x, x)

PAGE:17896430                                         public _CiGetPEInformation@12

PAGE:17896430                         _CiGetPEInformation@12 proc near

PAGE:17896430 8B FF                                   mov     edi, edi

PAGE:17896432 55                                      push    ebp

PAGE:17896433 8B EC                                   mov     ebp, esp

PAGE:17896435 5D                                      pop     ebp

PAGE:17896436 E9 1B 98 00 00                          jmp     _PEProcessDispatch@12

PAGE:17896436                         _CiGetPEInformation@12 endp

PAGE:17896436

PAGE:17896436                         ; —————————————————————————

Можно было непосредственно изменить его, тем не менее, более корректным вариантом будет изменить код вызываемой “вложенной” функции PEProcessDispatch:

PAGE:1789FC56 ; =============== S U B R O U T I N E ======================================= PAGE:1789FC56 PAGE:1789FC56 ; Attributes: bp-based frame PAGE:1789FC56 PAGE:1789FC56 ; __stdcall PEProcessDispatch(x, x, x) PAGE:1789FC56 _PEProcessDispatch@12 proc near PAGE:1789FC56 PAGE:1789FC56 var_14 = dword ptr -14h PAGE:1789FC56 var_10 = dword ptr -10h PAGE:1789FC56 var_C = dword ptr -0Ch PAGE:1789FC56 var_8 = dword ptr -8 PAGE:1789FC56 var_1 = byte ptr -1 PAGE:1789FC56 arg_0 = dword ptr 8 PAGE:1789FC56 arg_4 = dword ptr 0Ch PAGE:1789FC56 arg_8 = dword ptr 10h PAGE:1789FC56 PAGE:1789FC56 8B FF mov edi, edi PAGE:1789FC58 55 push ebp PAGE:1789FC59 8B EC mov ebp, esp PAGE:1789FC5B 83 EC 14 sub esp, 14h PAGE:1789FC5E 56 push esi PAGE:1789FC5F 8B 75 08 mov esi, [ebp+arg_0] PAGE:1789FC62 57 push edi PAGE:1789FC63 33 FF xor edi, edi PAGE:1789FC65 89 7D F8 mov [ebp+var_8], edi PAGE:1789FC68 C6 45 FF 00 mov [ebp+var_1], 0 PAGE:1789FC6C 3B F7 cmp esi, edi PAGE:1789FC6E 75 0A jnz short loc_1789FC7A PAGE:1789FC70 B8 0D 00 00 C0 mov eax, 0C000000Dh PAGE:1789FC75 E9 A2 01 00 00 jmp loc_1789FE1C

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

PAGE:1789FC56                         ; =============== S U B R O U T I N E =======================================

PAGE:1789FC56

PAGE:1789FC56                         ; Attributes: bp-based frame

PAGE:1789FC56

PAGE:1789FC56                         ; __stdcall PEProcessDispatch(x, x, x)

PAGE:1789FC56                         _PEProcessDispatch@12 proc near

PAGE:1789FC56

PAGE:1789FC56                         var_14          = dword ptr -14h

PAGE:1789FC56                         var_10          = dword ptr -10h

PAGE:1789FC56                         var_C           = dword ptr -0Ch

PAGE:1789FC56                         var_8           = dword ptr -8

PAGE:1789FC56                         var_1           = byte ptr -1

PAGE:1789FC56                         arg_0           = dword ptr  8

PAGE:1789FC56                         arg_4           = dword ptr  0Ch

PAGE:1789FC56                         arg_8           = dword ptr  10h

PAGE:1789FC56

PAGE:1789FC56 8B FF                                   mov     edi, edi

PAGE:1789FC58 55                                      push    ebp

PAGE:1789FC59 8B EC                                   mov     ebp, esp

PAGE:1789FC5B 83 EC 14                                sub     esp, 14h

PAGE:1789FC5E 56                                      push    esi

PAGE:1789FC5F 8B 75 08                                mov     esi, [ebp+arg_0]

PAGE:1789FC62 57                                      push    edi

PAGE:1789FC63 33 FF                                   xor     edi, edi

PAGE:1789FC65 89 7D F8                                mov     [ebp+var_8], edi

PAGE:1789FC68 C6 45 FF 00                             mov     [ebp+var_1], 0

PAGE:1789FC6C 3B F7                                   cmp     esi, edi

PAGE:1789FC6E 75 0A                                   jnz     short loc_1789FC7A

PAGE:1789FC70 B8 0D 00 00 C0                          mov     eax, 0C000000Dh

PAGE:1789FC75 E9 A2 01 00 00                          jmp     loc_1789FE1C

Требуется заменить начальные байты функции так, что бы значение регистра EAX (в котором возвращается результат выполнения) равнялось 0 и сразу после этого осуществлялся возврат из функции.

Источник: http://datadump.ru/ci-dll-code-integrity-module/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.