Thi is tutorial on how to make wall hack , for PB.
First, we need:
DirectX SDK
Logger textures:
Direct3D StarterKit v3.0b (by Azorbix):
Microsoft Visual Studio
Little knowledge of C + +, D3D - _Google_
Customize D3D
The first thing we establish Microsoft Visual Studio and DirectX SDK
Run the program and go to Tools-> Options-> Projects and Solutions> VC + + Directories
Tab in the Show directories for: Select Include files and add the path to our DirectX SD K to the folder \ Include
Doing the same thing for Library Files (.. \ Lib \ x86), Executable files (.. \)
All we can now otkompilit our Direct3D StarterKit v3.0b
Customize Injector'a:
In main.cpp need to change only 1 line:
Code:
Code:
# Define APP_EXE "target_application.exe"
Where target_application.exe prescribes the name of your game
For example:
xrEngine.exe, crossfire.exe, pointblank.exe.
Important!
Title. Dll file and the injector should be identical.
How do ordinary vallhak
1. We are looking for a texture that we need using the logger textures.
2. Prescribe them to our Direct3D StarterKit v3.0b in d3d9dev.cpp at the beginning of the file
Example:
Code:
Code:
# Define MyWallhack ((NumVertices == xx & & primCount == xx) | | (NumVertices == xx & & primCount == xx))
bool bWallHack = false;
3. Now go to DrawIndexedPrimitive
and add:
Code:
Code:
if (bWallHack)
{
if (MyWallhack)
{
DWORD dwOldZEnable;
m_pD3Ddev-> GetRenderState (D3DRS_ZENABLE, & dwOldZEnable);
m_pD3Ddev-> SetRenderState (D3DRS_ZENABLE, D3DZB_FALSE);
m_pD3Ddev-> DrawIndexedPrimitive (Type, BaseVertexIndex, MinVert exIndex, NumVertices, startIndex, primCount);
m_pD3Ddev-> SetRenderState (D3DRS_ZENABLE, dwOldZEnable);
}
}
4. Come on in and put EndScene vallhak button enable / disable:
Code:
Code:
if (GetAsyncKeyState (VK_NUMPAD1) & 1)
bWallHack =! bWallHack;
5. injected, go in the game press NUMPAD 1 and see the result.
How to remove a wall in a game
There is still easier.
On top of the file add:
Code:
Code:
bool bFog = false;
Code:
We go into DrawIndexedPrimitive and add this line:
if (bFog)
{
m_pD3Ddev-> SetRenderState (D3DRS_FOGENABLE, false);
}
Now in EndScene
Code:
Code:
if (GetAsyncKeyState (VK_NUMPAD2) & 1)
bFog =! bFog;
You're done! When you press the button in the game NUMPAD2, option will be switched on and off.
Now, actually what you need to do to Wallhack worked as desired:
At the very beginning of the code d3d9dev.cpp insert:
Code:
Code:
unsigned int m_Stride;
Next, go to SetStreamSource and put this out there before the return m_pD3Ddev-> SetStreamSource:
Code:
Code:
if (StreamNumber == 0) m_Stride = Stride;
Now, instead of first lines of code # define MyWallhack ((NumVertices == xx & & primCount == xx) | | (NumVertices == xx & & primCount == xx)) insert the
Code:
Code:
# Define MyWallhack ((m_Stride == 28))
That's it! You'll see other players through walls!
Now, how to make Wallhack'a Chams:
In the early d3d9dev.cpp prescribes:
Code:
Then, after all bool'ov paste this code:
Code:
Code:
LPDIRECT3DTEXTURE9 Pink;
const BYTE bPink [58] =
{
0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x00, 0xFF, 0x00
};
LPDIRECT3DTEXTURE9 Blue;
const BYTE bBlue [60] =
{
0x42, 0x4D, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
};
We go into BeginScene () and insert these lines before the return m_pD3Ddev-> BeginScene ();:
Code:
Code:
if (a == 1)
{
D3DXCreateTextureFromFileInMemory (m_pD3Ddev, (LPCVO ID) & bPink, 58, & Pink);
D3DXCreateTextureFromFileInMemory (m_pD3Ddev, (LPCVO ID) & bBlue, 60, & Blue);
a = 0;
}
Now go to DrawIndexedPrimitive, our volhaku and after the line m_pD3Ddev-> SetRenderState (D3DRS_ZENABLE, D3DZB_FALSE); paste this:
Code:
Code:
[COLOR="lime"]m_pD3Ddev-> SetTexture (0, Pink);
And after m_pD3Ddev-> SetRenderState (D3DRS_ZENABLE, dwOldZEnable2); this:
Code:
Code:
m_pD3Ddev-> SetTexture (0, Blue);
That's all! Chams is ready! xrEngine.exe dll - it Lieb, who Campiglio from D3D (TatniumD3D.vcproj) Injector - is a program that is injected into the game Lieb (main.cpp / TatniumInjector.vcproj) In general, you should have otkompilino: 1 Lieb, you call TatniumD3D . dll and an EXE file, which call TatniumD3D.exe, lozhesh them side by side (in one folder, do not care where) and run TatniumD3D.exe, click OK, start the game, press 1 for an additional (digital) keyboard, but do not forget to turn on NumLock.