From c42b70b2c2e73c8398bb3e10d4b0dc5d68c44b3f Mon Sep 17 00:00:00 2001 From: Tau Date: Sat, 20 Apr 2019 17:43:51 -0400 Subject: [PATCH] util/clock.c: Block SetLocalTime --- util/clock.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/util/clock.c b/util/clock.c index 44fb85e..c840c97 100644 --- a/util/clock.c +++ b/util/clock.c @@ -10,6 +10,7 @@ static void WINAPI my_GetSystemTimeAsFileTime(FILETIME *out); static BOOL WINAPI my_GetLocalTime(SYSTEMTIME *out); static BOOL WINAPI my_GetSystemTime(SYSTEMTIME *out); static DWORD WINAPI my_GetTimeZoneInformation(TIME_ZONE_INFORMATION *tzinfo); +static BOOL WINAPI my_SetLocalTime(SYSTEMTIME *in); static BOOL WINAPI my_SetSystemTime(SYSTEMTIME *in); static BOOL WINAPI my_SetTimeZoneInformation(TIME_ZONE_INFORMATION *tzinfo); @@ -30,6 +31,9 @@ static const struct hook_symbol clock_hook_syms[] = { }, { .name = "GetTimeZoneInformation", .patch = my_GetTimeZoneInformation, + }, { + .name = "SetLocalTime", + .patch = my_SetLocalTime, }, { .name = "SetSystemTime", .patch = my_SetSystemTime, @@ -158,9 +162,16 @@ static DWORD WINAPI my_GetTimeZoneInformation(TIME_ZONE_INFORMATION *tzinfo) } } +static BOOL WINAPI my_SetLocalTime(SYSTEMTIME *in) +{ + dprintf("Prevented application from screwing with the local time\n"); + + return TRUE; +} + static BOOL WINAPI my_SetSystemTime(SYSTEMTIME *in) { - dprintf("Prevented application from screwing with the system clock\n"); + dprintf("Prevented application from screwing with the system time\n"); return TRUE; }