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\\Se rvices\\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
Драйвер должен зарегистрировать службу.
(если кто знает как из драйвера заюзать 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\\Se rvices\\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