Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem]Crash...


b4rt4z

Rekomendowane odpowiedzi

Opublikowano

Siemka mam taki problem :

zrobilem cheat'a no menu z chamsem i wszystko piękie dziala itd. ale po jakis 5min mam crash'a :(

 

wiedz tu moje pytanie wiecie co moze byc nie tak...??

 

a oto kod...

 

#include <d3d9.h>
#include <d3dx9.h>
#include "detour.h"
#include "DetourChams.h"
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "D3DX9.LIB")
#define D3DparamX  , UINT paramx
#define D3DparamvalX , paramx

UINT OffsetInBytes;
UINT m_Stride;
int  chams  =1;
int chamsm =1;
typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion);
oPresent pPresent;
HRESULT WINAPI myPresent ( LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion)
{
return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);

}
typedef HRESULT (WINAPI* oDrawIndexedPrimitive) (LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE Type, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount);
oDrawIndexedPrimitive pDrawIndexedPrimitive;
DWORD dwDrawindexedprimitive_ret;
HRESULT WINAPI  myDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE pType D3DparamX ,UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount )
{
_asm pushad;
 LPDIRECT3DVERTEXBUFFER9 Stream_Data;
 UINT Offset = 0;
 UINT Stride = 0;
 if(pDevice->GetStreamSource(0, &Stream_Data, &Offset, &Stride) == D3D_OK)
 Stream_Data->Release();


 if(Stride==36 && chams)
  {

	pDevice->SetRenderState(D3DRS_ZENABLE,false);
 pDevice->SetRenderState(D3DRS_FOGENABLE,false);
pDevice->SetRenderState(D3DRS_LIGHTING,true);
	if(chams==1)pDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_ARGB(255,255,0,0));//red
	pDrawIndexedPrimitive(pDevice,pType D3DparamvalX,nMinIndex,nNumVertices,nStartIndex,nPrimitiveCount);
	pDevice->SetRenderState(D3DRS_ZENABLE,true);
 pDevice->SetRenderState(D3DRS_FOGENABLE,true);
pDevice->SetRenderState(D3DRS_LIGHTING,true);
		if(chamsm==1)pDevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_ARGB(255,0,0,255));//blue
	}

_asm popad;
return pDrawIndexedPrimitive(pDevice,pType D3DparamvalX,nMinIndex,nNumVertices,nStartIndex,nPrimitiveCount);
}
 /*	 jmp dwDrawindexedprimitive_ret;

}
*/
int D3D(void)
{
HINSTANCE hD3D;
DWORD  vTable[105];
hD3D=0;
do {
 hD3D = GetModuleHandle("d3d9.dll");
 if (!hD3D) Sleep(10);
} while(!hD3D);
if (D3Ddiscover((void *)&vTable[0],420)==0) return 0;
{
 pPresent = (oPresent)DetourCreate((DWORD)vTable[17], (DWORD)myPresent,12);
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) DetourMePleaseImNice((DWORD)vTable[82], (DWORD)myDrawIndexedPrimitive,12);
while(1)
 {
 if(memcmp((void*)vTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
 {
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) DetourMePleaseImNice((DWORD)vTable[82], (DWORD)myDrawIndexedPrimitive,12);
 }

 Sleep(100);
}
return 0;
}
}

BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{ HideModule(hDll);
 EraseHeaders(hDll);
 CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3D, NULL, NULL, NULL);
}
return TRUE;
}

 

 

@down

mam ten:

http://www.mpcforum.pl/topic/487497-source-hook-dip-pod-chams-wallhack-itp/

 

jak jest stary to podasz mi aktualny?? :) (na PW)

1379095800-U384748.png

ExMod | ExMentor | ExChampion | ExMoT | Blue Member | Tagger

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...