Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Регистрация службы из драйвера вручную (https://forum.antichat.xyz/showthread.php?t=61955)

spider-intruder 16.02.2008 18:48

Регистрация службы из драйвера вручную
 
Столкнулся с такой проблемой.
Драйвер должен зарегистрировать службу.
(если кто знает как из драйвера заюзать SCM еще лучше)

Пишу в реестр:

HANDLE hkey=NULL;
OBJECT_ATTRIBUTES oa1;
UNICODE_STRING RegistryKey;
UNICODE_STRING DNP,valname1,valname2,valname3;

WCHAR DN[15]=L"LSecure Service"; //display name
RtlInitUnicodeString(&DNP, L"DisplayName");

ULONG value1=2;
RtlInitUnicodeString(&valname1, L"Start");

ULONG value2=32;
RtlInitUnicodeString(&valname2, L"Type");

ULONG value3=1;
RtlInitUnicodeString(&valname3, L"ErrorControl");

WCHAR path[16]=L"c:\\lservice.exe"; //display name
RtlInitUnicodeString(&Ppath, L"ImagePath");

RtlInitUnicodeString(&RegistryKey, L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\ Services\\LSecure");
InitializeObjectAttributes(&oa1, &RegistryKey, OBJ_CASE_INSENSITIVE, NULL, NULL);
status = ZwCreateKey(&hkey,KEY_WRITE, &oa1, 0, NULL,REG_OPTION_NON_VOLATILE,NULL);
ZwSetValueKey(hkey, &DNP, 0, REG_SZ, &DN, sizeof(DN));
ZwSetValueKey(hkey, &valname1, 0, REG_DWORD, &value1, sizeof(ULONG));
ZwSetValueKey(hkey, &valname2, 0, REG_DWORD, &value2, sizeof(ULONG));
ZwSetValueKey(hkey, &valname3, 0, REG_DWORD, &value3, sizeof(ULONG));
ZwSetValueKey(hkey, &Ppath, 0, REG_EXPAND_SZ, &path, sizeof(path));
ZwClose(hkey);
return status;


В реестре с виду все нормально.
Но когда делаю net start LSecure - вываливается с ошибкой. Файл не найден

Может я не правильно пишу REG_EXPAND_SZ

bons 17.02.2008 15:23

для того чтобы установить службу мало добавить ее в реестр, надо еще зарегистрировать в SCM. Как это делать из ядра я точно не знаю, но возможно тебе поможет эта статья:
_http://www.rootkit.com/newsread.php?newsid=419

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

Piflit 17.02.2008 15:32

тутор от Four-F почитай

bons 17.02.2008 17:28

Four-F пишет, что SCM регистрирует службы сразу после загрузки винды.
Т.е. если добавить в службу реестр и перезагрузить то она будет установлена.

Правда надо еще добавить REG_SZ с именем ObjectName и значением LocalSystem
тогда твой код будет работать

Nova 17.02.2008 18:00

Цитата:

Сообщение от KEZ
пиздец.. Jes на*** ты удаляешь мои посты ?

КЕЗ не кипятись мои посты тоже удаляют =(

bons 20.02.2008 18:53

Проблема все же решилась или нет?

spider-intruder 21.02.2008 11:03

Конечно решилась.


Время: 19:57