
03.02.2007, 13:51
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Вот набросал. Функции перехвата можно взять из моей статьи 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
|
|
|