PHck4FuN
Mensagens : 11 Reputação : 0 Data de inscrição : 15/11/2011
| Assunto: [Source] WallHack Qua Nov 16, 2011 12:15 pm | |
| Esta é uma source antiga de um wallhack para PB, mas é através dela que uso para atualizar qualquer novo wallhack, vou disponibilizar a vocês para quem queira atualizar o wallhacker, mas mexa só quem sabe mesmo. - Código:
-
#include "stdafx.h" #include "stdafx.h" #include <windows.h> #include <d3d8.h> #pragma comment(lib, "d3d8.lib") typedef HRESULT (WINAPI* CreateDevice_Prototype) (LPDIRECT3D8, UINT, D3DDEVTYPE, HWND, DWORD, D3DPRESENT_PARAMETERS*, LPDIRECT3DDEVICE8*); typedef HRESULT (WINAPI* Reset_Prototype) (LPDIRECT3DDEVICE8, D3DPRESENT_PARAMETERS*); typedef HRESULT (WINAPI* EndScene_Prototype) (LPDIRECT3DDEVICE8); typedef HRESULT (WINAPI* DrawIndexedPrimitive_Prototype)(LPDIRECT3DDEVICE8, D3DPRIMITIVETYPE, UINT, UINT, UINT, UINT); CreateDevice_Prototype CreateDevice_Pointer = NULL; Reset_Prototype Reset_Pointer = NULL; EndScene_Prototype EndScene_Pointer = NULL; DrawIndexedPrimitive_Prototype DrawIndexedPrimitive_Pointer = NULL; HRESULT WINAPI Direct3DCreate8_VMTable (VOID); HRESULT WINAPI CreateDevice_Detour (LPDIRECT3D8, UINT, D3DDEVTYPE, HWND, DWORD, D3DPRESENT_PARAMETERS*, LPDIRECT3DDEVICE8*); HRESULT WINAPI Reset_Detour (LPDIRECT3DDEVICE8, D3DPRESENT_PARAMETERS*); HRESULT WINAPI EndScene_Detour (LPDIRECT3DDEVICE8); HRESULT WINAPI DrawIndexedPrimitive_Detour(LPDIRECT3DDEVICE8, D3DPRIMITIVETYPE, UINT, UINT, UINT, UINT); PDWORD Direct3D_VMTable = NULL; BOOL WINAPI DllMain(HINSTANCE hinstModule, DWORD dwReason, LPVOID lpvReserved) { if(dwReason == DLL_PROCESS_ATTACH) { DisableThreadLibraryCalls(hinstModule); if(Direct3DCreate8_VMTable() == D3D_OK) return TRUE; } return Sucess; } HRESULT WINAPI Direct3DCreate8_VMTable(VOID) { LPDIRECT3D8 Direct3D_Object = Direct3DCreate8(D3D_SDK_VERSION); if(Direct3D_Object == NULL) return D3DERR_INVALIDCALL; Direct3D_VMTable = (PDWORD)*(PDWORD)Direct3D_Object; Direct3D_Object->Release(); DWORD dwProtect; if(VirtualProtect(&Direct3D_VMTable[15], sizeof(DWORD), PAGE_READWRITE, &dwProtect) != 0) { *(PDWORD)&CreateDevice_Pointer = Direct3D_VMTable[15]; *(PDWORD)&Direct3D_VMTable[15] = (DWORD)CreateDevice_Detour; if(VirtualProtect(&Direct3D_VMTable[15], sizeof(DWORD), dwProtect, &dwProtect) == 0) return D3DERR_INVALIDCALL; } else return D3DERR_INVALIDCALL; return D3D_OK; } HRESULT WINAPI CreateDevice_Detour(LPDIRECT3D8 Direct3D_Object, UINT Adapter, D3DDEVTYPE DeviceType, HWND FocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* PresentationParameters, LPDIRECT3DDEVICE8* Returned_Device_Interface) { HRESULT Returned_Result = CreateDevice_Pointer(Direct3D_Object, Adapter, DeviceType, FocusWindow, BehaviorFlags, PresentationParameters, Returned_Device_Interface); DWORD dwProtect; if(VirtualProtect(&Direct3D_VMTable[15], sizeof(DWORD), PAGE_READWRITE, &dwProtect) != 0) { *(PDWORD)&Direct3D_VMTable[15] = *(PDWORD)&CreateDevice_Pointer; CreateDevice_Pointer = NULL; if(VirtualProtect(&Direct3D_VMTable[15], sizeof(DWORD), dwProtect, &dwProtect) == 0) return D3DERR_INVALIDCALL; } else return D3DERR_VALIDCALL; if(Returned_Result == D3D_OK) { Direct3D_VMTable = (PDWORD)*(PDWORD)*Returned_Device_Interface; *(PDWORD)&Reset_Pointer = (DWORD)Direct3D_VMTable[14]; *(PDWORD)&EndScene_Pointer = (DWORD)Direct3D_VMTable[35]; *(PDWORD)&DrawIndexedPrimitive_Pointer = (DWORD)Direct3D_VMTable[71]; *(PDWORD)&Direct3D_VMTable[14] = (DWORD)End_Detour; *(PDWORD)&Direct3D_VMTable[35] = (DWORD)EndScene_Detour; *(PDWORD)&Direct3D_VMTable[71] = (DWORD)DrawIndexedPrimitive_Detour; } return Returned_Result; } HRESULT WINAPI Reset_Detour(LPDIRECT3DDEVICE8 Device_Interface, D3DPRESENT_PARAMETERS* PresentationParameters) { return Reset_Pointer(Device_Interface, PresentationParameters); } HRESULT WINAPI EndScene_Detour(LPDIRECT3DDEVICE8 Device_Interface) { return EndScene_Pointer(Device_Interface); } HRESULT WINAPI DrawIndexedPrimitive_Detour(LPDIRECT3DDEVICE8 Device_Interface, D3DPRIMITIVETYPE Type, UINT MinIndex, UINT NumVertices, UINT StartIndex, UINT PrimitiveCount) { LPDIRECT3DVERTEXBUFFER8 Stream_Data; UINT Stride = 0; if(Device_Interface->GetStreamSource(0, &Stream_Data, &Stride) == D3D_OK) Stream_Data->Release(); //code return DrawIndexedPrimitive_Pointer(Device_Interface, Type, MinIndex, NumVertices, StartIndex, PrimitiveCount); }bool wallhack; if(Stride == 400 && wallhack || Stride == 41 && wallhack) { Device_Interface->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE); }if ((GetAsyncKeyState(VK_NUMPAD1)&1) == 1) //Numpad 9 F1 wallhack = !wallhack;//Start Wallhack OBS : EU NÃO VO ENSINAR A COMO ATUALIZAR PROCUREM SABER MAIS SOBRE O ASSUNTO QUE VOCÊS VÃO APRENDER FACIL FACIL! | |
|
Jimy Administrador
Mensagens : 34 Reputação : 12 Data de inscrição : 14/11/2011 Localização : UltraCheatsBrasil
| Assunto: Re: [Source] WallHack Qua Nov 16, 2011 3:18 pm | |
| | |
|