Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <d3d9.h>
- #include <d3dx9.h>
- #include "Quelle.h"
- #include "color.h"
- #include "detour.h"
- #include "int.h"
- #include "Hacks.h"
- #include "d3dmenu.h"
- #pragma comment(lib, "d3d9.lib")
- #pragma comment(lib, "d3dx9.lib")
- D3D9Menu *pMenu = NULL;
- CD3DFont* pFont; // Farben halt
- bool Color = true;
- bool Create;
- LPDIRECT3DTEXTURE9 Red, Yellow, Green, Blue, Purple, Pink, Orange, White, Black;
- DWORD org_scp;
- DWORD retES;
- DWORD jump_DrawIndexedPrimitive;
- void MemoryHacks();
- __declspec(naked) DWORD APIENTRY pPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
- {
- __asm
- {
- MOV EDI, EDI
- PUSH EBP
- MOV EBP, ESP
- jmp retES
- }
- }
- __declspec(naked) DWORD APIENTRY pDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinIndex, UINT NumVertices, UINT StartIndex, UINT PrimitiveCount)
- {
- __asm
- {
- MOV EDI, EDI
- PUSH EBP
- MOV EBP, ESP
- jmp jump_DrawIndexedPrimitive
- }
- }
- __declspec(naked) DWORD APIENTRY D3DXCreateFont(DWORD A, DWORD B, DWORD C, DWORD D, DWORD E, DWORD F, DWORD G, DWORD H, DWORD I, DWORD J, DWORD K, DWORD L)
- {
- __asm
- {
- MOV EDI, EDI
- PUSH EBP
- MOV EBP, ESP
- jmp org_scp
- }
- }
- HRESULT GenerateTexture(IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32)
- {
- if (FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex, NULL)))
- return E_FAIL;
- WORD colour16 = ((WORD)((colour32 >> 28) & 0xF) << 12)
- | (WORD)(((colour32 >> 20) & 0xF) << 8)
- | (WORD)(((colour32 >> 12) & 0xF) << 4)
- | (WORD)(((colour32 >> 4) & 0xF) << 0);
- D3DLOCKED_RECT d3dlr;
- (*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
- WORD *pDst16 = (WORD*)d3dlr.pBits;
- for (int xy = 0; xy < 8 * 8; xy++)
- *pDst16++ = colour16;
- (*ppD3Dtex)->UnlockRect(0);
- return S_OK;
- }
- void RebuildMenu(void)
- {
- pMenu->AddFolder("[DIRECT3D]", Moptfolder, &folder[1], 2);
- if (folder[1])
- {
- pMenu->AddItem("Wallhack", Moptonoff, &CH_Item[0], 2);
- pMenu->AddItem("SeeGhost", Moptonoff, &CH_Item[1], 2);
- pMenu->AddItem("Wireframe", Moptonoff, &CH_Item[2], 2);
- pMenu->AddItem("Glasswall", Moptonoff, &CH_Item[3], 2);
- pMenu->AddItem("Chams", Moptonoff, &CH_Item[14], 2);
- pMenu->AddItem("Crosshair", Crosshair, &CH_Item[4], 6);
- }
- pMenu->AddFolder("[PLAYER]", Moptfolder, &folder[2], 2);
- if (folder[2])
- {
- pMenu->AddItem("Superkill", Superkill, &CH_Item[13], 2);//17
- pMenu->AddItem("Invisible", Moptonoff, &CH_Item[15], 2);
- pMenu->AddItem("Spectator", SpectateT, &CH_Item[5], 2);
- }
- pMenu->AddFolder("[MEMORY]", Moptfolder, &folder[3], 2);
- if (folder[3])
- {
- pMenu->AddItem("Unli Bag", Moptonoff, &CH_Item[17], 2);
- pMenu->AddItem("No Recoil", Moptonoff, &CH_Item[7], 2);
- pMenu->AddItem("No Spread", Moptonoff, &CH_Item[8], 2);
- pMenu->AddItem("Fast Reload", AutoOn, &CH_Item[9], 2);
- pMenu->AddItem("Fast Change", AutoOn, &CH_Item[10], 2);
- pMenu->AddItem("NoBugDamage", AutoOn, &CH_Item[11], 1);
- pMenu->AddItem("NoFallDamage", AutoOn, &CH_Item[12], 1);
- }
- pMenu->AddFolder("[MISC]", Moptfolder, &folder[5], 2);
- if (folder[5])
- {
- pMenu->AddItem("Exit Game", Moptonoff, &CH_Item[16], 2);
- }
- pMenu->AddFolder("[CREDITS]", Moptfolder, &folder[4], 2);
- if (folder[4])
- {
- pMenu->AddItem("@EnhanceDevelopment", Creditsss, &credits, 1);
- pMenu->AddItem("@MemoryThePast", Creditsss, &credits, 1);
- pMenu->AddItem("@RazerXJosh", Creditsss, &credits, 1);
- pMenu->AddItem("@hackX10", Creditsss, &credits, 1);
- pMenu->AddItem("@zNova", Creditsss, &credits, 1);
- pMenu->AddItem("@hackX10", Creditsss, &credits, 1);
- pMenu->AddItem("@DivineAwe", Creditsss, &credits, 1);
- }
- }
- HRESULT APIENTRY my_DrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinIndex, UINT NumVertices, UINT StartIndex, UINT PrimitiveCount)
- {
- UINT UselessData;
- LPDIRECT3DVERTEXBUFFER9 StreamData;
- UINT CurrentStride,Offset;
- if (pDevice->GetStreamSource(0, &StreamData, &Offset, &CurrentStride) == D3D_OK)
- StreamData->Release();
- pDevice->GetStreamSource(NULL, &StreamData, &UselessData, &CurrentStride);
- if (CH_Item[0] == 1)//WALLHACK
- {
- if (CurrentStride != 0) {
- if (CurrentStride == 32) {
- pDevice->SetRenderState(D3DRS_ZENABLE, false);
- }
- else if (CurrentStride == 44) {
- pDevice->SetRenderState(D3DRS_ZENABLE, false);
- }
- else if (CurrentStride == 40) {
- pDevice->SetRenderState(D3DRS_ZENABLE, false);
- }
- else {
- ;
- }
- }
- }
- if (CH_Item[1] == 1)//SEEGHOST
- {
- if (CurrentStride == 44 || CurrentStride == 40)
- {
- pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
- pDevice->SetRenderState(D3DRS_ZFUNC, D3DCMP_NEVER);
- pDevice->SetRenderState(D3DRS_LIGHTING, false);
- pDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_ARGB(255, 255, 255, 255));
- pDevice->SetRenderState(D3DRS_FOGENABLE, false);
- }
- }
- if (CH_Item[2] == 1 && (CurrentStride == 40 || CurrentStride == 44))//WIREFRAME
- {
- pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
- }
- if (CH_Item[14] == 1 && (CurrentStride == 40 || CurrentStride == 32 || CurrentStride == 44))
- {
- pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
- pDevice->SetRenderState(D3DRS_ZFUNC, D3DCMP_NEVER);
- pDevice->SetTexture(0, Yellow);
- pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount);
- pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
- pDevice->SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);
- pDevice->SetTexture(0, Red);
- }
- return pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount);
- }
- HRESULT APIENTRY my_Present(LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
- {
- if (CH_Item[4] == 1)
- {
- Cross(pDevice, RED);
- }
- else if (CH_Item[4] == 1)
- {
- Cross(pDevice, BLUE);
- }
- else if (CH_Item[4] == 1)
- {
- Cross(pDevice, GREEN);
- }
- else if (CH_Item[4] == 1)
- {
- Cross(pDevice, BLACK);
- }
- else if (CH_Item[4] == 1)
- {
- Cross(pDevice, PURPLE);
- }
- if (CH_Item[16] == 1)
- {
- ExitProcess(0);
- }
- if (!msg)
- {
- ShowMessage("Simple Menu Hack\n-Juesril");
- msg = true;
- }
- if (CH_Item[15] == 1)
- {
- MakeInvisible();
- }
- else
- {
- MakeVisible();
- }
- Spectator();
- GenerateTexture(pDevice, &Red, D3DCOLOR_ARGB(255, 255, 0, 0));
- GenerateTexture(pDevice, &Yellow, D3DCOLOR_ARGB(255, 255, 255, 0));
- GenerateTexture(pDevice, &Green, D3DCOLOR_ARGB(255, 0, 255, 0));
- GenerateTexture(pDevice, &Blue, D3DCOLOR_ARGB(255, 0, 0, 255));
- GenerateTexture(pDevice, &Purple, D3DCOLOR_ARGB(255, 102, 0, 153));
- GenerateTexture(pDevice, &Pink, D3DCOLOR_ARGB(255, 255, 20, 147));
- GenerateTexture(pDevice, &Orange, D3DCOLOR_ARGB(255, 255, 165, 0));
- GenerateTexture(pDevice, &Black, D3DCOLOR_ARGB(255, 0, 0, 0));
- GenerateTexture(pDevice, &White, D3DCOLOR_ARGB(255, 255, 255, 255));
- if (CH_Item[11] == 0 )
- {
- CH_Item[9] = 1;
- CH_Item[10] = 1;
- CH_Item[11] = 1;
- CH_Item[12] = 1;
- }
- pFont = new CD3DFont("Arial", 8, D3DFONT_BOLD);
- pFont->InitDeviceObjects(pDevice);
- pFont->RestoreDeviceObjects();
- if (pMenu == NULL)
- {
- pMenu = new D3D9Menu("JuesrilHax[BETA]");//menü name
- }
- else {
- pMenu->MenuShow(12, 10, pFont, pDevice);
- if (pMenu->Mmax == 0) RebuildMenu();
- pMenu->MenuNav();
- }
- delete pFont;
- return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
- }
- DWORD APIENTRY MyD3DXCreateFont(DWORD A, DWORD B, DWORD C, DWORD D, DWORD E, DWORD F, DWORD G, DWORD H, DWORD I, DWORD J, DWORD K, DWORD L)
- {
- DWORD thisa = *(DWORD*)A;
- /*=====Present Hook=====*/
- DWORD oldflagES;
- DWORD ESAddress = thisa + 68;
- DWORD ESHook = *(DWORD*)ESAddress;
- retES = ESHook + 5;
- /*=====Present Hook=====*/
- VirtualProtect((LPVOID)ESHook, 5, PAGE_EXECUTE_READWRITE, &oldflagES);
- *(PBYTE)ESHook = 0xE9;
- *(PULONG)(ESHook + 1) = (DWORD)my_Present - (ESHook + 5);
- /*=====DrawIndexedPrimitive Hook=====*/
- DWORD OLD_DrawIndexedPrimitive;
- DWORD DIPAddress = thisa + 328;
- DWORD MID_DrawIndexedPrimitive = *(DWORD*)DIPAddress;
- jump_DrawIndexedPrimitive = MID_DrawIndexedPrimitive + 5;
- /*=====DrawIndexedPrimitive Hook=====*/
- VirtualProtect((LPVOID)MID_DrawIndexedPrimitive, 5, PAGE_EXECUTE_READWRITE, &OLD_DrawIndexedPrimitive);
- *(PBYTE)MID_DrawIndexedPrimitive = 0xE9;
- *(PULONG)(MID_DrawIndexedPrimitive + 1) = (DWORD)my_DrawIndexedPrimitive - (MID_DrawIndexedPrimitive + 5);
- *(PULONG)(org_scp - 5) = 0x0000008b;
- *(PULONG)(org_scp - 4) = 0xEC8B55FF;
- return D3DXCreateFont(A, B, C, D, E, F, G, H, I, J, K, L);
- }
- UINT APIENTRY StartD3D(LPVOID param)
- {
- DWORD OLD_Font;
- HMODULE user32 = LoadLibraryA("d3dx9_29.dll");
- PVOID Address_Font = (PVOID)GetProcAddress(user32, "D3DXCreateFontA");
- VirtualProtect(Address_Font, 5, PAGE_EXECUTE_READWRITE, &OLD_Font);
- org_scp = (DWORD)Address_Font + 0x5;
- *(PULONG)Address_Font = 0xE9;
- *(PULONG)((DWORD)Address_Font + 0x1) = (DWORD)MyD3DXCreateFont - ((DWORD)Address_Font + 0x5);
- CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)MemoryHacks, NULL, NULL, NULL);
- return true;
- }
- BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
- {
- if (dwReason == DLL_PROCESS_ATTACH)
- {
- HideModule(hDll);
- EraseHeaders(hDll);
- CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)StartD3D, NULL, NULL, NULL);
- }
- return TRUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement