LPVOID memory = VirtualAlloc(NULL, 1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(GetCurrentProcess(), memory, "\x58\x54\x50\x53\x51\x52\x55\x56\x57\x41\x50\x41\x51\x41\x52\x41\x53\x41\x54\x41\x55\x41\x56\x41\x57\x9C", 26, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26), "\x48\x89\xD1\x48\xB8", 5, NULL);
void (*ptr)(uint64_t) = hookdeal_wxlog;
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5), &ptr, 8, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5 + 8), "\x53\xFF\xD0", 3, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5 + 8 + 3), "\x5B\x9D\x41\x5F\x41\x5E\x41\x5D\x41\x5C\x41\x5B\x41\x5A\x41\x59\x41\x58\x5F\x5E\x5D\x5A\x59\x5B\x58\x5C", 26, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5 + 8 + 3 + 26), "\x44\x89\x75\x80\x0F\x57\xC0\x0F\x11\x85\xC0\x10\x00\x00", 14, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5 + 8 + 3 + 26 + 14), "\x50\x48\xB8", 3, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5 + 8 + 3 + 26 + 14 + 3), &retaddr_wxlog, 8, NULL);
WriteProcessMemory(GetCurrentProcess(), (LPVOID)((uint64_t)memory + 26 + 5 + 8 + 3 + 26 + 14 + 3 + 8), "\xFF\xE0", 2, NULL);