Stato
Discussione chiusa ad ulteriori risposte.

DomyMitico

Utente Medio
Autore del topic
13 Gennaio 2009
120
0
Miglior risposta
0
Come Creare Hack in D3D per WarRock



Salve a tutti ragazzi oggi vi voglio presentare una guida su come creare un hack per WarRock in D3D.Iniziamo.

La guida si dividerà in tre parti

1)Cos'è il D3D?

2)Come Creare un Injector

3)Come creare file .dll

Bene ecco la prima parte

Cos'è il D3D?
Il D3D ovvero Direct3D è una tecnologia antagonista allo standard OpenGL, utile ad elaborare grafiche di tipo tridimensionale.
Parte dell’API DirectX di Microsoft, Direct3D è disponibile solo per i sistemi operativi Microsoft Windows (a partire da Windows 95) ed è la base per le applicazioni grafiche della Xbox e della Xbox 360; deve il suo successo principalmente al settore dei videogiochi. Direct3D come OpenGL può accedere all'accelerazione hardware delle moderne schede grafiche, quando disponibile.
Direct3D offre inoltre una emulazione vertex (cfr. vertex shader) di tipo software ma nessuna emulazione pixel software per caratteristiche non disponibili nell'hardware. Per esempio, se un programma che usa Direct3D richiede i pixel shader e la scheda del computer non supporta la caratteristica, Direct3D non è in grado di emularla. Il programma terminerà molto spesso con un messaggio di errore.

Fonte:Wikipeida

Come Creare un Injector

In questa parte useremo Visual Basic 2008 per costruire il nostro injector,quindi apritelo e selezionate l'Application Windows Form.

Inserite nella nostra form 2 texbox un timer 4 label e un button.Fatto questo passiamo ai codici.

Nel timer

codice:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Nel Public Class Form



codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Una volta messi questi codici aggiungete questo sotto tutti gli altri




codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

End SubBene ora il label2 mostrerà l'avanzamento dell'injector.Nel texbox1 si dovrà scrivere il processo di warrock e nel texbox2 il file .dll.Gli altri 3 label serviranno come guida su dove mettere i nomi della dll e il processo del programma.Adesso abbiamo finito l'injector ora passiamo alla dll

Come Creare file .dll



Requisiti:
-D3D Starter Kit V3.0
-Generatetexture Function (Texture Maker)
-Microsoft Visual C++ 2008 Express Edition
-MSDN
-D3D SDK



Per iniziare:
Scarichiamo lo starter kit sul nostro desktop ed apriamolo.



Coding:
Per prima cosa andremo a creare un Wallhack:



Nello starter kit andiamo su d3d8dev.ccp
Sotto i #defines




codice:
bool wallhack; //made by thimo
UINT m_Stride; //made by thimPiazziamo questo nel DrawIndexedPrimitive




codice:
if (wallhack) //If wallhack bool is called.
{
if(m_stride == 44) //On the players model.
{
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE); //Then bring to the front
}
else
{
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE, TRUE); //Evertyhing else is normal
}
}



if ((GetAsyncKeyState(VK_NUMPAD1)&1) == 1) // If get numpad 1 then
wallhack = !wallhack; //toggle wallChams:
Iniziamo con gli stessi codice sopra



In alto:




codice:
bool chams;
UINT m_Stride;
LPDIRECT3DTEXTURE8 texRed, texGreen; //texturesOra nel DrawIndexedPrimitive:




codice:
if (chams) //if cham bool is called
{
if (m_Stride == 44) //on the player models
{
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,false); //bring to front
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID); //fill it with a solid color
m_pD3Ddev->SetTexture( 0, texRed); //fill it wih red
m_pD3Ddev->DrawIndexedPrimitive(PrimitiveType, minIndex, NumVertices, startIndex, primCount);
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE, true);
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID);
m_pD3Dde->SetTexture( 0, texGreen); //fill it with green
}



if ((GetAsyncKeyState(VK_NUMPAD2)&1) == 1) //id numpad 2 is called then
Chams = !Chams; //chams on and offOra abbiamo bisogno di settare i colori!



Ora cerchiamo



HRESULT CD3DManager::Release()



Sotto



HRESULT CD3DManager::Release()
{
return S_OK;
}



Aggiungiamo il GenerateTexture Function




codice:
HRESULT GenerateTexture(IDirect3DDevice8 *pD3Ddev, IDirect3DTexture8 **ppD3Dtex, DWORD colour32)
{
if( FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex)) )
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;Ora in EndScene andremo a settare queste funzioni!



Cerchiamo EndScene



In EndScene aggiungiamo:




codice:
GenerateTexture(m_pD3Ddev, &texRed,D3DCOLOR_ARGB(255,255,0,0));
GenerateTexture(m_pD3Ddev, &texGreen,D3DCOLOR_ARGB(255,0,255,0));E nel SetStreamSource mettiamo:




codice:
if( StreamNumber == 0 ){m_Stride = Stride;



Spero di esservi stato di aiuto..



FONTE:ITALIANHACK
 
Ultima modifica:
bravo,bella guida io grazie a questa guida di italianhack ho creato 1 hack ;D
 
Stato
Discussione chiusa ad ulteriori risposte.