Не находит бинарник драйвера

Discussion in 'WASM.BEGINNERS' started by M0rg0t, Aug 19, 2022.

  1. M0rg0t

    M0rg0t Well-Known Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2010
    Messages:
    1,585
    Столкнулся со странной ошибкой. Копирую драйвер (не мой ) допустим в C:\test123.sys . Далее пробую зарегистрировать - все норм.

    Code (Text):
    1. sc create test123 type= kernel binPath= c:\test123.sys
    Но, при попытке запустить, вылезает ошибка
    [SC] StartService: ошибка: 2:
    Не удается найти указанный файл.

    Запускаю и kmdkit (four-f), и процесс хакером, и консолью - один фиг ошибка типа файл не найден. Но он же есть на диске! может ли это быть какой-то защитой от создателя, хотя по идее защита должна срабатывать при запуске ?
     
  2. HoShiMin

    HoShiMin Well-Known Member

    Blog Posts:
    5
    Joined:
    Dec 17, 2016
    Messages:
    1,486
    Location:
    Россия, Нижний Новгород
    А посмотри, что у него в DriverEntry
     
  3. M0rg0t

    M0rg0t Well-Known Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2010
    Messages:
    1,585
    HoShiMin, да много чего, считай вся логика..так сразу и не пойму. но искать там, да? Т.е. система передает все же управление драйверу, выходит?
     
  4. HoShiMin

    HoShiMin Well-Known Member

    Blog Posts:
    5
    Joined:
    Dec 17, 2016
    Messages:
    1,486
    Location:
    Россия, Нижний Новгород
    Да, система при запуске твоего сервиса подгружает драйвер в память и вызывает его DriverEntry. А драйвер уже возвращает из DriverEntry успешные или неуспешные статусы. Скорей всего, DriverEntry вернул что-то, типа STATUS_***_NOT_FOUND. Посмотри в иде, может ли быть такое.
    И посмотри, может он пишет DbgPrint'ы. Если так, то посмотри их через DbgView - так узнаешь, грузится ли вообще драйвер, или ошибка про ненайденный файл - ошибка от сервис-менеджера.
     
  5. alex_dz

    alex_dz Active Member

    Blog Posts:
    0
    Joined:
    Jul 26, 2006
    Messages:
    531
    Прошу прощенья что влезаю в вашу тему, кто знает как успешно использовать решение KsDumper v1.1
    в нем есть два драйвера - Capcom.sys (+LoadCapcom.bat) - тут без проблем и KsDumperDriver.sys (LoadUnsignedDriver.bat) - вот с ним проблема

    Code (Text):
    1. c:\123\Driver>"c:\123\Driver\\drvmap.exe" "c:\123\Driver\\KsDumperDriver.sys"
    2. [+] loaded capcom driver: 0
    3. [+] allocated 0x7000 bytes at 0xFFFFFA8015F06000
    4. processing module: ntoskrnl.exe [0xFFFFF8000300A000]
    5. Assertion failed: RtlFindExportedRoutineByName != nullptr, file c:\users\foxy\desktop\tools\drvmap-master\capcom\capcom.cpp, line 196
    6.  
    ОС - Win7 x64
     
  6. HoShiMin

    HoShiMin Well-Known Member

    Blog Posts:
    5
    Joined:
    Dec 17, 2016
    Messages:
    1,486
    Location:
    Россия, Нижний Новгород
    Code (Text):
    1. loaded capcopm driver: 0
    Что значит ноль? Маппер не сумел его загрузить?
     
  7. alex_dz

    alex_dz Active Member

    Blog Posts:
    0
    Joined:
    Jul 26, 2006
    Messages:
    531
    опа, точно, 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.

    короче дело ясное что дело темное... идеи? :)
     
  8. HoShiMin

    HoShiMin Well-Known Member

    Blog Posts:
    5
    Joined:
    Dec 17, 2016
    Messages:
    1,486
    Location:
    Россия, Нижний Новгород
    Пробегись в отладчике, посмотри, где именно там что-то идёт не так. Вот он получил ошибку, дальше, вроде, он её даже не проверил и пошёл дальше. Значит, дальше может происходить что угодно. Вот и найди место, начиная с которого всё сломалось.
     
  9. M0rg0t

    M0rg0t Well-Known Member

    Blog Posts:
    0
    Joined:
    Oct 18, 2010
    Messages:
    1,585
    этого ничего нет.

    а может вообще быть некая "самозащита" в драйвере? Ну т.е. чтобы его использовало только "родное" приложение, а не другие ? Реально ли такое сделать?
     
  10. HoShiMin

    HoShiMin Well-Known Member

    Blog Posts:
    5
    Joined:
    Dec 17, 2016
    Messages:
    1,486
    Location:
    Россия, Нижний Новгород
    Да, без проблем, всё можно