Столкнулся со странной ошибкой. Копирую драйвер (не мой ) допустим в C:\test123.sys . Далее пробую зарегистрировать - все норм. Code (Text): sc create test123 type= kernel binPath= c:\test123.sys Но, при попытке запустить, вылезает ошибка [SC] StartService: ошибка: 2: Не удается найти указанный файл. Запускаю и kmdkit (four-f), и процесс хакером, и консолью - один фиг ошибка типа файл не найден. Но он же есть на диске! может ли это быть какой-то защитой от создателя, хотя по идее защита должна срабатывать при запуске ?
HoShiMin, да много чего, считай вся логика..так сразу и не пойму. но искать там, да? Т.е. система передает все же управление драйверу, выходит?
Да, система при запуске твоего сервиса подгружает драйвер в память и вызывает его DriverEntry. А драйвер уже возвращает из DriverEntry успешные или неуспешные статусы. Скорей всего, DriverEntry вернул что-то, типа STATUS_***_NOT_FOUND. Посмотри в иде, может ли быть такое. И посмотри, может он пишет DbgPrint'ы. Если так, то посмотри их через DbgView - так узнаешь, грузится ли вообще драйвер, или ошибка про ненайденный файл - ошибка от сервис-менеджера.
Прошу прощенья что влезаю в вашу тему, кто знает как успешно использовать решение KsDumper v1.1 в нем есть два драйвера - Capcom.sys (+LoadCapcom.bat) - тут без проблем и KsDumperDriver.sys (LoadUnsignedDriver.bat) - вот с ним проблема Code (Text): c:\123\Driver>"c:\123\Driver\\drvmap.exe" "c:\123\Driver\\KsDumperDriver.sys" [+] loaded capcom driver: 0 [+] allocated 0x7000 bytes at 0xFFFFFA8015F06000 processing module: ntoskrnl.exe [0xFFFFF8000300A000] Assertion failed: RtlFindExportedRoutineByName != nullptr, file c:\users\foxy\desktop\tools\drvmap-master\capcom\capcom.cpp, line 196 ОС - Win7 x64
опа, точно, good catch, 0 значит false https://github.com/not-wlan/drvmap/blob/98d93cc7b5ec17875f815a9cb94e6d137b4047ee/drvmap/main.cpp#L23 получается проблема происходит еще раньше... внутри метода load_driver() есть API ZwLoadDriver()- возвращает 0xc000010e но по ходу разве ошибка?... STATUS_IMAGE_ALREADY_LOADED0xC000010EIndicates that the specified image is already loaded. короче дело ясное что дело темное... идеи?
Пробегись в отладчике, посмотри, где именно там что-то идёт не так. Вот он получил ошибку, дальше, вроде, он её даже не проверил и пошёл дальше. Значит, дальше может происходить что угодно. Вот и найди место, начиная с которого всё сломалось.
этого ничего нет. а может вообще быть некая "самозащита" в драйвере? Ну т.е. чтобы его использовало только "родное" приложение, а не другие ? Реально ли такое сделать?