Показать сообщение отдельно

  #6  
Старый 03.02.2007, 13:51
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

Вот набросал. Функции перехвата можно взять из моей статьи Splicing
а вот код новой GetLocalTime:

Код:
DECLARE_HOOK_LP(VOID, GetLocalTime, (LPSYSTEMTIME lpSystemTime))
{
	if(IsBadWritePtr(lpSystemTime, sizeof(SYSTEMTIME))) return;
	
	UNSET_FUNC_HOOK_LP(GetLocalTime);
	lpGetLocalTime(lpSystemTime);
	SET_FUNC_HOOK_LP(GetLocalTime);

	lpSystemTime->wYear = 2004;
}
Прекрасно работает. Я попробовал запустить апплет "Дата и время" - он послушно показал, что сейчас 2004 год, а отнюдь не 2007

ЗЫ. Запуск апплета "Дата и время":
Код:
rundll32.exe /d shell32.dll,Control_RunDLL timedate.cpl