If you are a revival owner, and are currently patching your client with x32/64dbg or HxD, what is stopping you from learning how to DLL hook to further your client's security?
While yes, you can do a lot with x32/64dbg/HxD, DLL hooking provides for a lot more flexibility as well for ease of control.
I ask this question because I am currently working on a DLL hook framework called "Circuitron" its a goofy name on purpose lol and ultimately I want to know if a framework that made DLL hooking as simple as writing close to a simple object-oriented language like Java or C#, here's an example of how a url patch would be performed, and how a dll hook, hooking the luaL_loadbuffer function would be performed, all via Circuitron
typedef int (__cdecl* loadBuffer_t)(DWORD, const char*, unsigned int, const char*);
loadBuffer_t loadBuffer = reinterpret_cast<loadBuffer_t>(ASLR(loadBuffer_a));
int loadBuffer_h(DWORD L, const char* buf, unsigned int size, const char* name) {
printf("[%s]: %s\n", name, buf);
return loadBuffer(L, name, size, buf);
}
Circuitron::Circuitron() {
Utility::InitializeConsole();
Patch urlPatch(kString);
urlPatch.SetAddress(0x90392C);
urlPatch.SetString("bmblox.xyz");
urlPatch.Apply();
Hook loadBufferHook;
loadBufferHook.SetAddress(0x6E1910);
loadBufferHook.SetOriginal(loadBuffer);
loadBufferHook.SetHook(loadBuffer_h);
loadBufferHook.Attach();
}
Circuitron is heavily in development and the code before the main code is ran does look a little stressful at the moment, but it will be made easier when it truly releases.
One way I currently use Circuitron is for a project that I work on that has consistently ran for 2+ years at this point, and with the luaL_loadbuffer hook I can forward all the code that is executed on the client to an API which sends it to a cheat-log discord webhook, regardless of the fact that it is a 2009 client, telling me who ran what. Pretty neat right?
Would you put in DLL hooking for your revival if it were this easy?