继续向下则是initHookThread函数,该函数内我们自行创建了一个具有空类名的隐藏窗口,并通过调用Direct3DCreate9实现了对Dx9引擎的初始化,通过调用(*(void***)device)[42]的方式我们即可获取到当前内存中endSceneAddr的原始地址,有了这个地址则直接对其进行Hook替换,此时当有新的请求访问该函数时则会自动路由到MyEndSceneAddr函数内。
// 初始化Hook线程
DWORD WINAPI initHookThread(LPVOID dllMainThread)
{
WaitForSingleObject(dllMainThread, INFINITE);
CloseHandle(dllMainThread);
WNDCLASSEX wc = {};
wc.cbSize = sizeof(wc);
wc.style = CS_OWNDC;
wc.hInstance = GetModuleHandle(NULL);
wc.lpfnWndProc = DefWindowProc;
wc.lpszClassName = _T("LySharkWindow");
// 注册窗口类
if (RegisterClassEx(&wc) == 0)
{
return 0;
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang
// 初始化Hook线程
DWORD WINAPI initHookThread(LPVOID dllMainThread)
{
WaitForSingleObject(dllMainThread, INFINITE);
CloseHandle(dllMainThread);
WNDCLASSEX wc = {};
wc.cbSize = sizeof(wc);
wc.style = CS_OWNDC;
wc.hInstance = GetModuleHandle(NULL);
wc.lpfnWndProc = DefWindowProc;
wc.lpszClassName = _T("LySharkWindow");
// 注册窗口类
if (RegisterClassEx(&wc) == 0)
{
return 0;
⚫️⚫️⚫️渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持⚫️⚫️⚫️
#黑客接单 @逆向破解 #渗透
@changwaiguang