Ene sys что за драйвер
What is ene.sys?
ene.sys is digitally signed by Ptolemy Tech Co., Ltd.
ene.sys is usually located in the ‘c:\windows\system32\drivers\’ folder.
None of the anti-virus scanners at VirusTotal reports anything malicious about ene.sys.
If you have additional information about the file, please share it with the FreeFixer users by posting a comment at the bottom of this page.
Vendor and version information [?]
ene.sys does not have any version or vendor information.
Digital signatures [?]
ene.sys has a valid digital signature.
Property | Value |
---|---|
Signer name | Ptolemy Tech Co., Ltd |
Certificate issuer name | COMODO RSA Code Signing CA |
Certificate serial number | 00e7640d3b521f8b0b6fd8ce64c827613b |
VirusTotal report
None of the 72 anti-virus programs at VirusTotal detected the ene.sys file.
Sandbox Report
The following information was gathered by executing the file inside Cuckoo Sandbox.
Summary
ERROR: Failed to execute process.
Generic
Signatures
Network
Hashes [?]
Property | Value |
---|---|
MD5 | 8942e9fa2459b1e179a6535ca16a2fb4 |
SHA256 | 810513b3f4c8d29afb46f71816350088caacf46f1be361af55b26f3fee4662c3 |
What will you do with ene.sys?
To help other users, please let us know what you will do with ene.sys:
What did other users do?
The poll result listed below shows what users chose to do with ene.sys. 81% have voted for removal. Based on votes from 105 users.
NOTE: Please do not use this poll as the only source of input to determine what you will do with ene.sys.
Malware or legitimate?
If you feel that you need more information to determine if your should keep this file or remove it, please read this guide.
And now some shameless self promotion 😉
Hi, my name is Roger Karlsson. I’ve been running this website since 2006. I want to let you know about the FreeFixer program. FreeFixer is a freeware tool that analyzes your system and let you manually identify unwanted programs. Once you’ve identified some malware files, FreeFixer is pretty good at removing them. You can download FreeFixer here. It runs on Windows 2000/XP/2003/2008/2016/2019/Vista/7/8/8.1/10. Supports both 32- and 64-bit Windows.
If you have questions, feedback on FreeFixer or the freefixer.com website, need help analyzing FreeFixer’s scan result or just want to say hello, please contact me. You can find my email address at the contact page.
Comments
Please share with the other users what you think about this file. What does this file do? Is it legitimate or something that your computer is better without? Do you know how it was installed on your system? Did you install it yourself or did it come bundled with some other software? Is it running smoothly or do you get some error message? Any information that will help to document this file is welcome. Thank you for your contributions.
I’m reading all new comments so don’t hesitate to post a question about the file. If I don’t have the answer perhaps another user can help you.
Zac writes
Hi, this program is being detected as forbidden by Counter Strike anti-cheat software. Do you have any more information on what exactly it does?
Roger Karlsson writes
@Zac: I think ene.sys is part of Asus Aura RGB or Asus Aura Sync.
«Aura RGB LED lighting was developed to perfectly complement your gaming rig for a true expression of individuality. Aura RGB provides a nearly endless spectrum of colors, patterns and even the ability to link lighting to music, in-game action, or CPU/GPU temperatures.»
Do you have a machine from Asus?
UltraMark writes
Also forbidden by Vanguard, the anti-cheat software for Valorant. Can also confirm have a ASUS RGB motherboard and graphics card, on both of which the RGB lighting stopped working (it now defaults to color cycling).
Mattix writes
Anche a me da lo stesso problema con Vanguard, il software anti_cheat di Valorant. Come posso risolvere questo problema?? Io non ho un asus e nemmeno asus aura rgb. Come è possibile che mi da questo errore??
Mattix writes
Eren writes
If i delete ene.sys what will happen
Roger Karlsson writes
To avoid the problem with anti-cheat software, would it work to disable the Aura effects?
It should be possible to access the BIOS by pressing F2 during reboot. When the BIOS window shows up, toggle the Aura effect ON/OFF with F4.
Does that solve the anti-cheat detection problem?
What is ene?
Ene.sys is a Windows driver. A driver is a small software program that allows your computer to communicate with hardware or connected devices. This means that a driver has direct access to the internals of the operating system, hardware etc. The free file information forum can help you determine if ene.sys is a Windows system file or if it belongs to an application that you can trust.
Ene.sys file information
Description: Ene.sys is not essential for the Windows OS and causes relatively few problems. The file ene.sys is located in a not identifiable folder. The file size on Windows 10/8/7/XP is 0 bytes.
The driver can be started or stopped from Services in the Control Panel or by other programs. It is a file with no information about its developer. There is no detailed description of this service. The program has no visible window. Ene.sys is not a Windows system file. It is certified by a trustworthy company. ene.sys appears to be a compressed file. Therefore the technical security rating is 36% dangerous.
Important: Some malware camouflages itself as ene.sys. Therefore, you should check the ene.sys process on your PC to see if it is a threat. We recommend Security Task Manager for verifying your computer’s security. This was one of the Top Download Picks of The Washington Post and PC World.
Score
User Comments
There are no user opinions yet. Why not be the first to write a short comment?
Best practices for resolving ene issues
A clean and tidy computer is the key requirement for avoiding problems with ene. This means running a scan for malware, cleaning your hard drive using 1 cleanmgr and 2 sfc /scannow, 3 uninstalling programs that you no longer need, checking for Autostart programs (using 4 msconfig) and enabling Windows’ 5 Automatic Update. Always remember to perform periodic backups, or at least to set restore points.
Windows: достучаться до железа
Меня всегда интересовало низкоуровневое программирование – общаться напрямую с оборудованием, жонглировать регистрами, детально разбираться как что устроено. Увы, современные операционные системы максимально изолируют железо от пользователя, и просто так в физическую память или регистры устройств что-то записать нельзя. Точнее я так думал, а на самом деле оказалось, что чуть ли не каждый производитель железа так делает!
В чём суть, капитан?
Режимы работы x86 процессора
В «Ring 3» программам запрещены потенциально опасные действия, такие как доступ к I/O портам и физической памяти. По логике разработчиков, настолько низкоуровневый доступ обычным программам не нужен. Доступ к этим возможностям имеют только операционная система и её компоненты (службы и драйверы). И всё бы ничего, но однажды я наткнулся на программу RW Everything:
RW Everything действительно читает и пишет практически всё
Смотрим последний установленный драйвер через OSR Driver Loader
Прокси-драйвера
В итоге получается обходной манёвр – всё, что программе запрещено делать, разработчик вынес в драйвер, программа устанавливает драйвер в систему и уже через него программа делает, что хочет! Более того – выяснилось, что RW Everything далеко не единственная программа, которая так делает. Таких программ не просто много, они буквально повсюду. У меня возникло ощущение, что каждый уважающий себя производитель железа имеет подобный драйвер:
Софт для обновления BIOS (Asrock, Gigabyte, HP, Dell, AMI, Intel, Insyde…)
Софт для разгона и конфигурации железа (AMD, Intel, ASUS, ASRock, Gigabyte)
Софт для просмотра сведений о железе (CPU-Z, GPU-Z, AIDA64)
Софт для обновления PCI устройств (Nvidia, Asmedia)
Во многих из них практически та же самая модель поведения – драйвер получает команды по типу «считай-ка вот этот физический адрес», а основная логика – в пользовательском софте. Ниже в табличке я собрал некоторые прокси-драйвера и их возможности:
Результаты краткого анализа пары десятков драйверов. Могут быть ошибки!
Mem – чтение / запись физической памяти
PCI – чтение / запись PCI Configuration Space
I/O – чтение / запись портов I/O
Alloc – аллокация и освобождение физической памяти
Map – прямая трансляция физического адреса в вирутальный
MSR – чтение / запись x86 MSR (Model Specific Register)
Жёлтым обозначены возможности, которых явно нет, но их можно использовать через другие (чтение или маппинг памяти). Мой фаворит из этого списка – AsrDrv101 от ASRock. Он устроен наиболее просто и обладает просто огромным списком возможностей, включая даже функцию поиска шаблона по физической памяти (!!)
Неполный перечень возможностей AsrDrv101
Чтение / запись RAM
Чтение / запись PCI Configuration Space
Чтение / запись MSR (Model-Specific Register)
Чтение / запись CR (Control Register)
Чтение TSC (Time Stamp Counter)
Чтение PMC (Performance Monitoring Counter)
Alloc / Free физической памяти
Поиск по физической памяти
Через Python в дебри
Конечно же я захотел сделать свой небольшой «тулкит» для различных исследований и экспериментов на базе такого драйвера. Причём на Python, мне уж очень нравится, как просто выглядит реализация сложных вещей на этом языке.
Первым делом нужно установить драйвер в систему и запустить его. Делаем «как положено» и сначала кладём драйвер (нужной разрядности!) в System32:
Раньше в похожих ситуациях я извращался с папкой %WINDIR%\Sysnative, но почему-то на моей текущей системе такого алиаса не оказалось, хотя Python 32-битный. (по идее, на 64-битных системах обращения 32-битных программ к папке System32 перенаправляются в папку SysWOW64, и чтобы положить файлик именно в System32, нужно обращаться по имени Sysnative).
Затем регистрируем драйвер в системе и запускаем его:
А дальше запущенный драйвер создаёт виртуальный файл (кстати, та самая колонка «имя» в таблице с анализом дров), через запросы к которому и осуществляются дальнейшие действия:
И ещё одна полезная программа для ползания по системе, WinObj
Тоже ничего особенного, открываем файл и делаем ему IoCtl:
В конечном итоге я «подсмотрел», как это делают другие программы. Выяснилось, что большинство либо не заморачиваются, либо просто ищут запущенные процессы с тем же именем. Но одна из исследованных программ имела кардинально другой подход, который я себе и перенял. Вместо того, чтобы переживать по количеству ссылок на файл, просто на каждый запрос открываем и закрываем файл! А если файла нет, значит кто-то остановил драйвер и пытаемся его перезапустить:
А дальше просто реверсим драйвер и реализуем все нужные нам вызовы:
Легко и непринуждённо в пару команд читаем физическую память
PCI Express Config Space
Чтение и запись PCI Config Space
Но через этот метод доступны только 0x100 байт конфигурационного пространства, в то время как в стандарте PCI Express размер Config Space у устройств может быть достигать 0x1000 байт! И полноценно вычитать их можно только обращением к PCI Extended Config Space, которая замаплена где-то в адресном пространстве, обычно чуть пониже BIOS:
Адресное пространство современного x86 компа, 0-4 ГБ
На чипсетах Intel (ну, в их большинстве) указатель на эту область адресного пространства можно взять из конфига PCI устройства 0:0:0 по смещению 0x60, подробнее описано в даташитах:
У AMD я такого не нашёл (наверняка есть, плохо искал), но сам факт неуниверсальности пнул меня в сторону поиска другого решения. Погуглив стандарты, я обнаружил, что указатель на эту область передаётся системе через ACPI таблицу MCFG
А сами ACPI таблицы можно найти через запись RSDP, поискав её сигнатуру по адресам 0xE0000-0xFFFFF, а затем распарсив табличку RSDT. Отлично, здесь нам и пригодится функционал поиска по памяти. Получаем нечто такое:
На всякий случай оставляем вариант для чипсетов Intel
Всё, теперь осталось при необходимости заменить чтение PCI Express Config Space через драйвер на чтение через память. Теперь-то разгуляемся!
Читаем BIOS
В качестве примера применения нашего «тулкита», попробуем набросать скрипт чтения BIOS. Он должен быть «замаплен» где-то в конце 32-битного адресного пространства, потому что компьютер начинает его исполнение с адреса 0xFFFFFFF0. Обычно в ПК стоит флеш-память объёмом 4-16 МБ, поэтому будем «сканировать» адресное пространство с адреса 0xFF000000, как только найдём что-нибудь непустое, будем считать, что тут начался BIOS:
В результате получаем:
Вот так в 10 строчек мы считали BIOS
Но подождите-ка, получилось всего 6 мегабайт, а должно быть 4 или 8 что-то не сходится. А вот так, у чипсетов Intel в адресное пространство мапится не вся флешка BIOS, а только один её регион. И чтобы считать всё остальное, нужно уже использовать SPI интерфейс.
Не беда, лезем в даташит, выясняем, что SPI интерфейс висит на PCI Express:
И для его использования, нужно взаимодействовать с регистрами в BAR0 MMIO по алгоритму:
Задать адрес для чтения в BIOS_FADDR
Задать параметры команды в BIOS_HSFTS_CTL
Прочитать данные из BIOS_FDATA
Пилим новый скрипт для чтения через чипсет:
Немного помучившись, получаем ответ от SSD на команду идентификации
А если написать свой драйвер?
Зайдя на страницу с кодом драйвера, вы сразу наткнетесь на предупреждение:
Точнее я так думал, до вот этой статьи, глаз зацепился за крайне интересный абзац:
Драйвер из статьи действительно подписан, и действительно неким китайским ключом:
Как оказалось, сведения о подписи можно просто посмотреть в свойствах.. А я в HEX изучал
Немного поиска этого имени в гугле, и я натыкаюсь на вот эту ссылку, откуда узнаю, что:
есть давно утёкшие и отозванные ключи для подписи драйверов
малварщики по всему миру используют это для создания вирусни
Несколько минут мучений с гугл-переводчиком на телефоне, и мне удалось разобраться в этой утилите и подписать драйвер одним из утекших ключей (который довольно легко отыскался в китайском поисковике):
И в самом деле, китайская азбука
И точно так же, как и AsrDrv101, драйвер удалось без проблем запустить!
А вот и наш драйвер запустился
Из чего делаю вывод, что старая идея с написанием своего драйвера вполне себе годная. Как раз не хватает функции маппинга памяти. Но да ладно, оставлю как TODO.
Выводы?
Так вот, при включении этой опции, некоторые драйвера (в том числе RW Everything и китайско-подписанный chipsec_hlpr) перестают запускаться:
Тем не менее, рассмотренный пример утилиты на базе AsrDrv работает:
Ошибка Ndu.sys в Windows 10
Как я могу исправить ошибки Ndu.sys в Windows 10?
Ошибка «драйвер не равен или меньше (ndu.sys)» сопровождается традиционным синим экраном. Это означает, что если вы получите его во время использования, оно действительно не исчезнет, если вы не перезагрузите операционную систему, и даже после этого оно может появиться случайно через несколько минут. Это сообщение об ошибке вызвано несовместимыми драйверами оборудования, а точнее драйвером беспроводного адаптера.
Решено: Ndu.sys синий экран смерти ошибка
1. Переименуйте папку Ndu.sys
2. Установите последние драйверы сетевой карты
Мы также рекомендуем этот сторонний инструмент (на 100% безопасный и протестированный нами) для автоматической загрузки устаревших драйверов на ваш компьютер.
3. Откат к предыдущей версии ОС
Если вышеуказанные методы не помогли решить проблему, я бы предложил вернуться к предыдущей версии ОС Windows 10 или сборке Windows 10, если вы инсайдер.
4. Проверьте наличие обновлений
5. Используйте другое подключение к Интернету
6. Сбросить Windows 10
Другим методом, который можно использовать для исправления ошибок Ndu.sys, является обновление Windows 10. После нажатия кнопки «Обновить» ОС удалит все стороннее программное обеспечение, установленное на вашем компьютере. Тем не менее, он все равно сохранит все ваши личные файлы и настройки.
7. Запустите средство устранения неполадок BSOD
Ошибки BSOD довольно часто встречаются в Windows 10. По этой причине Microsoft добавила встроенное средство устранения неполадок BSOD на страницу настроек Windows 10. Чтобы запустить этот инструмент, перейдите в Настройки> Обновление и безопасность> Устранение неполадок> выберите и запустите средство устранения неполадок «Синий экран».
8. Чистая установка Windows 10
Если ничего не помогло, чистая переустановка – это, в конце концов, последний метод. Начать с нуля позволяет избавиться от всех элементов, которые вызвали ошибки Ndu.sys и исправить проблему навсегда.
Итак, если вы хотите очистить установку Windows 10, вам нужен установочный диск или DVD и много терпения. Весь процесс обычно занимает один час или два. Вот шаги, чтобы следовать:
Если вы не хотите выполнять все перечисленные выше шаги для чистой установки Windows 10, вы можете использовать Windows Refresh Tool для выполнения этой работы.
Мы надеемся, что эти решения помогли вам настроить вашу сеть и запустить ее, пока Microsoft не выпустит исправление для этой проблемы.
«Намертво прибитая к ядру» графическая подсистема
То, что принято называть «графикой в ядре» обычно относится к win32k. Win32k.sys представляет собой ядерную часть графической подсистемы. Загружается пользовательским процессом smss.exe в процессе инициализации всех остальных подсистем. Путь к исполняемому образу для «kmode» подсистемы прописан здесь:
Как же это происходит?
Здесь (на стек трейсе в нижней части скриншота) хорошо видно, что инициирует загрузку win32k процесс пользовательского режима smss (который в том числе инициализирует файлы подкачки, реестр, переменные окружения, сохраняет дамп памяти, если до этого был bugcheck, при посредстве wininit запускает service control manager и local security authority subsystem, создает logon сессии и т.п..), а одна из первых вещей, которые делает сам win32k — это «налаживание связей» с ядром. И вот зачем: win32k находится на более высоком уровне по сравнению с ядром, поэтому ядро не может иметь зависимость (под «зависимостью» в данном случае понимается классический «reason to change») от (конкретной реализации) win32k, но и ядро и win32k могут безопасно зависеть от интерфейса. Таким интерфейсом является структура KWIN32_CALLOUTS_FPNS и функция для регистрации конкретной реализации этого интерфейса в ядре — PsEstablishWin32Callouts.
Кроме того, win32k регистрирует несколько типов объектов (в частности Desktop и WindowStation) через интерфейсы общего назначения, предоставляемые Object Manager-ом.
Таким образом НИКАКИХ зависимостей от win32k у ядра нет. Более того, до NT4 все user/gdi API обрабатывалось в csrss и, естественно, тормозило. Начиная с NT4 ЧАСТЬ user/gdi примитивов была перенесена в ядро для повышения производительности.
В общем win32k можно полностью убрать, можно заменить собственной ядерной частью, а можно реализовать все полностью в пользовательском режиме (используя, например, ioctl-ы для связи с ядром), но это будет тормозить. Единственная причина, по которой это не делается — потому что это не нужно. Можно написать по-другому — да, написать существенно лучше — вряд ли. Ну а переписывание ради самого переписывания — не лучшая идея.
Практика — критерий истины или «MinWin на коленке»
Итак, если вдумчиво прочитать то, что написано в предыдущем разделе, можно догадаться, что нам нужно заменить smss на такой, который не инициализирует подсистемы, но при этом все еще остается более-менее интерактивным. smss.exe — это обычный native процесс (приближенно, native приложение — это такое приложение, которое линкуется только с ntdll.dll и соотственно использует для работы только Native API). К счастью для меня Alex Ionescu — бывший главный разработчик ReactOS — уже написал подобное приложение в рамках (давно закрытого) проекта tinykrnl. Это приложение не собирается под amd64, не собирается на последнем WDK, имеет несколько багов, но в целом работает. Следующую картинку можно открыть архиватором — там содержатся исходники и скомпилированный amd64 бинарник небольшого приложения native.exe:
Прошу меня простить, но я не могу выложить готовый образ потому что это нелегально, поэтому выкладываю код, который может собрать vhd-образ из инсталляционного образа.
Следующий код можно исполнить ТОЛЬКО на Win7. Соханить его куда нибудь во временный каталог под именем, к примеру minwin.ps1, положить рядом install.wim (находится в каталоге \sources) c en-us инсталляционного диска Windows 7 (это важно — копируются только нужные для этой локализации NLS файлы), сохранить в этот каталог файл native.exe из прикрепленной выше картинки, перейти в этот самый каталог в elevated консоли и выполнить следующее:
Для краткости:
1. Рядом в одном каталоге должны лежать следующие файлы: minwin.ps1, install.wim и native.exe
2. Запускать minwin.ps1 нужно только после смены текущего каталога на каталог, содержащий вышеназванные файлы
Дисклеймер: все нижеследующее Вы делаете на свой страх и риск. Команды довольно очевидны и не должны нанести никакого вреда, но это «наколеночное» творчество, поэтому оно не обязано работать в любых условиях. Не выполняйте этот скрипт, если Вы не понимаете значение КАЖДОЙ команды (тем более, что выполнение должно производиться из-под повышенного пользователя). Если нет — ниже приведена картинка того, как это в конце концов выглядит. В упрощенном варианте можно просто переименовать native.exe в smss.exe, скопировать его поверх существующей smss.exe в уже загруженной виртуальной машине (подойдет любая x64 винда — от XP до 7) и перегрузиться.
Сам скрипт:
Выглядит это примерно так:
Если все сделано правильно (и при определенном везении 🙂 ), то через какое то время в том же каталоге появится файл disk.vhd — его можно запускать в виртуальной машине (тестировалось в VirtualBox, но не вижу причин, по которым это не должно работать в Virtual PC, Hyper-V или еще где нибудь):