Fix bugs & update logger

This commit is contained in:
SardineFish 2021-03-03 02:03:54 +08:00
parent 67feb39214
commit e18a57bc76
No known key found for this signature in database
GPG Key ID: 595C365DF7B679D0
4 changed files with 19 additions and 7 deletions

View File

@ -40,17 +40,17 @@ void ModuleHook::commit()
logf("Detour transaction successfully committed"); logf("Detour transaction successfully committed");
} }
void ModuleHook::hookFunc(const char* name, PVOID* originalFunc, void*& hookFunc) void ModuleHook::hookFunc(const char* logName, const char* name, PVOID* originalFunc, void* hookFunc)
{ {
auto funcAddr = GetProcAddress(hMod, "?execDML@CppSQLite3DB@@QAEHPBDPAH@Z"); auto funcAddr = GetProcAddress(hMod, name);
logf("SQLite3DB::execDML: %p", funcAddr); logf("%s: %p", logName, funcAddr);
if(funcAddr == NULL) if(funcAddr == NULL)
{ {
logf("Get null of function %s", name); logf("Get null of function %s", name);
} }
DetourTransactionBegin(); DetourTransactionBegin();
logf("Try hook SQLite3DB::execDML"); logf("Try hook %s", logName);
*originalFunc = (void*)funcAddr; *originalFunc = (void*)funcAddr;
auto err = DetourAttach(originalFunc, hookFunc); auto err = DetourAttach(originalFunc, hookFunc);
if(err != NO_ERROR) if(err != NO_ERROR)

View File

@ -11,5 +11,5 @@ public:
void commit(); void commit();
void hookFunc(const char* name, PVOID* originalFunc, void*& hookFunc); void hookFunc(const char* logName, const char* name, PVOID* originalFunc, void* hookFunc);
}; };

View File

@ -127,7 +127,16 @@ DWORD WINAPI thread_func(LPVOID lpParam)
hook.begin(); hook.begin();
auto fn = &HookSQLite3DB::execDML; auto fn = &HookSQLite3DB::execDML;
hook.hookFunc("?execDML@CppSQLite3DB@@QAEHPBDPAH@Z", (void**)&OriginalSQLite3DB_execDML, (void*&)fn); hook.hookFunc("SQLite3DB::execDML",
"?execDML@CppSQLite3DB@@QAEHPBDPAH@Z",
(void**)&OriginalSQLite3DB_execDML,
(void*&)fn);
auto fn2 = &HookSQLite3DB::execQueryEx;
hook.hookFunc("SQLite3DB::execQueryEx",
"?execQueryEx@CppSQLite3DB@@QAE?AVCppSQLite3Query@@PBDPAHH@Z",
(void**)&OriginalSQLite3DB_execQueryEx,
(void*&)fn2);
hook.commit(); hook.commit();

View File

@ -17,7 +17,10 @@ namespace Logger
{ {
IPEndPoint remote = new IPEndPoint(IPAddress.Any, 0); IPEndPoint remote = new IPEndPoint(IPAddress.Any, 0);
var data = server.Receive(ref remote); var data = server.Receive(ref remote);
Console.WriteLine("[{0}] {1}", DateTime.Now.ToShortTimeString(), Encoding.UTF8.GetString(data)); Console.ForegroundColor = ConsoleColor.DarkGray;
Console.Write("[{0}] ", DateTime.Now.ToLongTimeString());
Console.ResetColor();
Console.WriteLine(Encoding.UTF8.GetString(data));
} }
} }
} }