Community
XS-Community.
1.Daftar
2.Login
3.Posting
4.Jadilah Xs-Elited Member
by : Sultan Ahmad H.
Community
XS-Community.
1.Daftar
2.Login
3.Posting
4.Jadilah Xs-Elited Member
by : Sultan Ahmad H.
Community
Would you like to react to this message? Create an account in a few clicks or log in to continue.


Xs-Community
 
IndeksIndeks  Latest imagesLatest images  PencarianPencarian  PendaftaranPendaftaran  LoginLogin  

 

 [Share][SC Wallhack Asli dr Sulta-Xs]

Go down 
PengirimMessage
Sultan-Xs
Xs-Elited Moderator
Xs-Elited Moderator
Sultan-Xs


Jumlah posting : 5
Join date : 10.04.11
Age : 29
Lokasi : Sepanjang

[Share][SC Wallhack Asli dr Sulta-Xs] Empty
PostSubyek: [Share][SC Wallhack Asli dr Sulta-Xs]   [Share][SC Wallhack Asli dr Sulta-Xs] I_icon_minitimeTue Apr 12, 2011 11:43 am

main.cpp
#include <windows.h>

#include <detours.h>

#include <d3d8.h>

#include <d3dx8.h>

#include "log.h"

#include <fstream>

#include <iostream>

#pragma comment(lib, "d3dx8.lib")

#pragma comment(lib, "d3d8.lib")

using namespace std;

static DWORD dwBeginScene = 0x6D9D9250;

static DWORD dwEndScene = 0x6d9d93a0;

static DWORD dwDrawIndexedPrimitive = 0x6d9d73a0;

static DWORD dwSetStreamSource = 0x6d9d6760;

static DWORD dwSetViewport = 0x6d9d5b90 ;





int m_Stride;

int texnum;

int nNumVertices;

int nPrimitiveCount;



LPDIRECT3DTEXTURE8 Red,Yellow,Green,Blue,Purple,Pink,Orange;

bool Color = true;

bool Logger = false;

ofstream ofile;

char dlldir[320];

float ScreenCenterX = 0.0f;

float ScreenCenterY = 0.0f;

bool xhair = false;

bool WallHack = false;

bool WallHack2 = false;

HANDLE hand1 =NULL;

HANDLE hand2 =NULL;



DWORD bytes;



//Logger

int texarray[1000];

int arraycounter;

int delarray[500];

int dcount;

unsigned int arrc;

int i=0;





D3DCOLOR redt = D3DCOLOR_XRGB( 255, 0, 0 );





char *GetDirectoryFile(char *filename)

{

static char path[320];

strcpy(path, dlldir);

strcat(path, filename);

return path;

}



void __cdecl add_log (const char *fmt, ...)

{

if(ofile != NULL)

{

if(!fmt) { return; }



va_list va_alist;

char logbuf[256] = {0};



va_start (va_alist, fmt);

_vsnprintf (logbuf+strlen(logbuf), sizeof(logbuf) - strlen(logbuf), fmt, va_alist);

va_end (va_alist);



ofile << logbuf << endl;

}

}



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)

|(WORD)(((colour32>>12)&0xF)

|(WORD)(((colour32>>4)&0xF)



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;

}





//=================================EndScene_Start=== ================================================== ============================//

typedef HRESULT ( WINAPI* oEndScene ) ( LPDIRECT3DDEVICE8 pDevice );

oEndScene pEndScene;



HRESULT WINAPI myEndScene(LPDIRECT3DDEVICE8 pDevice)

{

if(Color)

{

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 ));

Color=false;

}



if(xhair)

{

D3DRECT rec2 = {ScreenCenterX-20, ScreenCenterY, ScreenCenterX+ 20, ScreenCenterY+2};

D3DRECT rec3 = {ScreenCenterX, ScreenCenterY-20, ScreenCenterX+ 2,ScreenCenterY+20};

pDevice->Clear(1, &rec2, D3DCLEAR_TARGET,redt, 0, 0);

pDevice->Clear(1, &rec3, D3DCLEAR_TARGET,redt, 0, 0);

}



//=============================================UnHoo K_Start=========================================== ========//



if((GetAsyncKeyState(VK_F5)&1))

{

int end =NULL;

int dip =NULL;

int svp =NULL;

int sss =NULL;





BYTE Unhook[5] = {0x8B,0xFF,0x55,0x8B,0xEC};//Original Function Bytes.

hand1 = GetCurrentProcess();

DWORD dwmodualBase=(DWORD)GetModuleHandle("d3d8.dll");

end = 0x6d9d93a0;

dip = 0x6d9d73a0;

svp = 0x6d9d5b90;

sss = 0x6d9d6760;



WriteProcessMemory(hand1, (void*) end, Unhook, 5, &bytes);

WriteProcessMemory(hand1, (void*) dip, Unhook, 5, &bytes);

WriteProcessMemory(hand1, (void*) svp ,Unhook, 5, &bytes);

WriteProcessMemory(hand1, (void*) sss,Unhook, 5, &bytes);

}

//=========================================UnHook_En d================================================= ========//



if((GetAsyncKeyState(VK_F1)&1)){xhair=!xhair;}

if((GetAsyncKeyState(VK_F2)&1)){WallHack=!WallHack ;}



return pEndScene(pDevice);

}

//====================================EndScene_End== ================================================== ========================//







//=================================Dip_Start======== ================================================== ==================================//

typedef HRESULT ( WINAPI* oDrawIndexedPrimitive ) ( LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount );

oDrawIndexedPrimitive pDrawIndexedPrimitive;



HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount)

{







if(WallHack)

{

texnum = (nNumVertices*100000)+nPrimitiveCount;

if(m_Stride==40 &&



(texnum==7500121 )||(texnum==8500105 )||(texnum==12400168)||(texnum==37000650)||

(texnum==18000274)||(texnum==8800105 )||(texnum==36900650)||(texnum==19600314)||

(texnum==21800306)||(texnum==7500121 )||(texnum==8500105 )||(texnum==12400168)||

(texnum==21800306)||(texnum==36900650)||(texnum==7 500121 )||(texnum==37000650)||

(texnum==18000274)||(texnum==7500121 )||(texnum==8500105 )||(texnum==38000658)||

(texnum==22100268)||(texnum==62400752)||(texnum==2 7900456)||(texnum==45700654)||

(texnum==4800040 )||(texnum==83600752)||(texnum==33400477)||(texnum ==38100666)||

(texnum==2800036 )||(texnum==62400752)||(texnum==29700492)||(texnum ==84900778)||

(texnum==27500442)||(texnum==52100658)||(texnum==6 2400752)||(texnum==33600552)||

(texnum==44100646)||(texnum==18000274)||(texnum==3 7200508)||(texnum==45700654)||

(texnum==37200508)||(texnum==52100658)||(texnum==5 2100658) &&





(nNumVertices == 100 && nPrimitiveCount == 121) || //Foot

(nNumVertices == 105 && nPrimitiveCount == 168) || //Right Arm

(nNumVertices == 132 && nPrimitiveCount == 180) || //Hand

(nNumVertices == 159 && nPrimitiveCount == 200) || //Left Arm

(nNumVertices == 338 && nPrimitiveCount == 534) || //Underbody thanks japennese guy

//(nNumVertices == 448 && nPrimitiveCount == 776) || //Head

(nNumVertices == 804 && nPrimitiveCount == 1016) || //Body //SRG Option item

(nNumVertices == 109 && nPrimitiveCount == 110) || //Bulletproof Vest

(nNumVertices == 336 && nPrimitiveCount == 532)) //Battle Pants



{

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Orange);

//pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME );



pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);



//pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID );

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Pink);

}



if(m_Stride==40 && texnum== 21300174)

{

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Green);//GreenNade

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Purple);

}





if(nNumVertices == 158 && nPrimitiveCount == 131)

{

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Red);//GreenNade

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Yellow);

}



if (nNumVertices == 171 && nPrimitiveCount == 143)

{



pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Red);//GreenNade

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Yellow);

}





if(m_Stride==40 &&//face,mask etc...

(texnum==36700612) ||

(texnum==9600172 ) ||

(texnum==14200236) ||

(texnum==37800552) ||

(texnum==28100486) ||

(texnum==35500568) ||

(texnum==2200024 ) ||

(texnum==16200243) ||

(texnum==31900466) ||

(texnum==19300342) ||

(texnum==36200604) ||

(texnum==21300290) ||

(texnum==35700558) ||

(texnum==22100396) ||

(texnum==36100604) ||

(texnum==27100464) ||

(texnum==11400180) ||

(texnum==34900580) ||

(texnum==13200212) ||

(texnum==34700538) ||

(texnum==19500352)&&

(nNumVertices == 448 && nPrimitiveCount == 776))



{

pDevice->SetTexture(0,Blue);

}





{

pDevice->SetRenderState(D3DRS_FOGENABLE,false);

}







}

return pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

}

//=====================================Dip_End====== ================================================== ===================//





//=====================================Sss_Start==== ================================================== ====================//

typedef HRESULT ( WINAPI* oSetStreamSource ) ( LPDIRECT3DDEVICE8 pDevice, UINT nStreamNumber, LPDIRECT3DVERTEXBUFFER8 pStreamData, UINT nStride );

oSetStreamSource pSetStreamSource;



HRESULT WINAPI mySetStreamSource(LPDIRECT3DDEVICE8 pDevice, UINT nStreamNumber, LPDIRECT3DVERTEXBUFFER8 pStreamData, UINT nStride)

{

if(nStreamNumber==0)

m_Stride = nStride;



return pSetStreamSource(pDevice, nStreamNumber, pStreamData, nStride);

}

//====================================Sss_End======= ================================================== ===================//



//====================================Svp_Start===== ================================================== ===================//

typedef HRESULT (WINAPI* oSetViewport)(LPDIRECT3DDEVICE8 pDevice,CONST D3DVIEWPORT8* pViewport);

oSetViewport pSetViewport;



HRESULT WINAPI mySetViewport(LPDIRECT3DDEVICE8 pDevice,CONST D3DVIEWPORT8* pViewport)

{

ScreenCenterX = ( float )pViewport->Width / 2;

ScreenCenterY = ( float )pViewport->Height / 2;



return pSetViewport(pDevice,pViewport);

}

//===================================Svp_End======== ================================================== ===================//



typedef HRESULT ( WINAPI* oBeginScene ) ( LPDIRECT3DDEVICE8 pDevice );

oBeginScene pBeginScene;



HRESULT WINAPI myBeginScene(LPDIRECT3DDEVICE8 pDevice)

{

if((GetAsyncKeyState(VK_F6)&1))

{

pEndScene = (oEndScene)DetourFunction((PBYTE)dwEndScene, (PBYTE)myEndScene);

pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourFunction((PBYTE)dwDra wIndexedPrimitive, (PBYTE)myDrawIndexedPrimitive);

pSetStreamSource = (oSetStreamSource)DetourFunction((PBYTE)dwSetStrea mSource, (PBYTE)mySetStreamSource);

pSetViewport=(oSetViewport)DetourFunction((PBYTE)d wSetViewport,(PBYTE)mySetViewport);

}



return pBeginScene(pDevice);

}





BOOL WINAPI DllMain ( HMODULE hModule, DWORD dwReason, LPVOID lpReserved )

{

DisableThreadLibraryCalls(hModule);



if ( dwReason == DLL_PROCESS_ATTACH )

{



//=========Log==========================//

GetModuleFileName(hModule, dlldir, 512);

for(int i = strlen(dlldir); i > 0; i--) { if(dlldir[i] == '\') { dlldir[i+1] = 0; break; } }

ofile.open(GetDirectoryFile("log.txt"), ios::app);

//=========Log=========================//



pBeginScene = (oBeginScene)DetourFunction((PBYTE)dwBeginScene, (PBYTE)myBeginScene);

pEndScene = (oEndScene)DetourFunction((PBYTE)dwEndScene, (PBYTE)myEndScene);

pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourFunction((PBYTE)dwDra wIndexedPrimitive, (PBYTE)myDrawIndexedPrimitive);

pSetStreamSource = (oSetStreamSource)DetourFunction((PBYTE)dwSetStrea mSource, (PBYTE)mySetStreamSource);

pSetViewport=(oSetViewport)DetourFunction((PBYTE)d wSetViewport,(PBYTE)mySetViewport);



}

return TRUE;

}

log.h (a header file)

Code:

#define WIN32_LEAN_AND_MEAN



#ifndef _MAIN_H

#define _MAIN_H



char *GetDirectoryFile(char *filename);

void __cdecl add_log (const char * fmt, ...);

#endif



cpp.h

#include <windows.h>

#include <detours.h>

#include <d3d8.h>

#include <d3dx8.h>

#include "log.h"

#include <fstream>

#include <iostream>

#pragma comment(lib, "d3dx8.lib")

#pragma comment(lib, "d3d8.lib")

using namespace std;

static DWORD dwBeginScene = 0x6D9D9250;

static DWORD dwEndScene = 0x6d9d93a0;

static DWORD dwDrawIndexedPrimitive = 0x6d9d73a0;

static DWORD dwSetStreamSource = 0x6d9d6760;

static DWORD dwSetViewport = 0x6d9d5b90 ;





int m_Stride;

int texnum;

int nNumVertices;

int nPrimitiveCount;



LPDIRECT3DTEXTURE8 Red,Yellow,Green,Blue,Purple,Pink,Orange;

bool Color = true;

bool Logger = false;

ofstream ofile;

char dlldir[320];

float ScreenCenterX = 0.0f;

float ScreenCenterY = 0.0f;

bool xhair = false;

bool WallHack = false;

bool WallHack2 = false;

HANDLE hand1 =NULL;

HANDLE hand2 =NULL;



DWORD bytes;



//Logger

int texarray[1000];

int arraycounter;

int delarray[500];

int dcount;

unsigned int arrc;

int i=0;





D3DCOLOR redt = D3DCOLOR_XRGB( 255, 0, 0 );





char *GetDirectoryFile(char *filename)

{

static char path[320];

strcpy(path, dlldir);

strcat(path, filename);

return path;

}



void __cdecl add_log (const char *fmt, ...)

{

if(ofile != NULL)

{

if(!fmt) { return; }



va_list va_alist;

char logbuf[256] = {0};



va_start (va_alist, fmt);

_vsnprintf (logbuf+strlen(logbuf), sizeof(logbuf) - strlen(logbuf), fmt, va_alist);

va_end (va_alist);



ofile << logbuf << endl;

}

}



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)

|(WORD)(((colour32>>12)&0xF)

|(WORD)(((colour32>>4)&0xF)



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;

}





//=================================EndScene_Start=================================================================================//

typedef HRESULT ( WINAPI* oEndScene ) ( LPDIRECT3DDEVICE8 pDevice );

oEndScene pEndScene;



HRESULT WINAPI myEndScene(LPDIRECT3DDEVICE8 pDevice)

{

if(Color)

{

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 ));

Color=false;

}



if(xhair)

{

D3DRECT rec2 = {ScreenCenterX-20, ScreenCenterY, ScreenCenterX+ 20, ScreenCenterY+2};

D3DRECT rec3 = {ScreenCenterX, ScreenCenterY-20, ScreenCenterX+ 2,ScreenCenterY+20};

pDevice->Clear(1, &rec2, D3DCLEAR_TARGET,redt, 0, 0);

pDevice->Clear(1, &rec3, D3DCLEAR_TARGET,redt, 0, 0);

}



//=============================================UnHooK_Start===================================================//



if((GetAsyncKeyState(VK_F5)&1))

{

int end =NULL;

int dip =NULL;

int svp =NULL;

int sss =NULL;





BYTE Unhook[5] = {0x8B,0xFF,0x55,0x8B,0xEC};//Original Function Bytes.

hand1 = GetCurrentProcess();

DWORD dwmodualBase=(DWORD)GetModuleHandle("d3d8.dll");

end = 0x6d9d93a0;

dip = 0x6d9d73a0;

svp = 0x6d9d5b90;

sss = 0x6d9d6760;



WriteProcessMemory(hand1, (void*) end, Unhook, 5, &bytes);

WriteProcessMemory(hand1, (void*) dip, Unhook, 5, &bytes);

WriteProcessMemory(hand1, (void*) svp ,Unhook, 5, &bytes);

WriteProcessMemory(hand1, (void*) sss,Unhook, 5, &bytes);

}

//=========================================UnHook_End=========================================================//



if((GetAsyncKeyState(VK_F1)&1)){xhair=!xhair;}

if((GetAsyncKeyState(VK_F2)&1)){WallHack=!WallHack;}



return pEndScene(pDevice);

}

//====================================EndScene_End============================================================================//







//=================================Dip_Start============================================================================================//

typedef HRESULT ( WINAPI* oDrawIndexedPrimitive ) ( LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount );

oDrawIndexedPrimitive pDrawIndexedPrimitive;



HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE8 pDevice, D3DPRIMITIVETYPE pType, UINT nMinIndex, UINT nNumVertices, UINT nStartIndex, UINT nPrimitiveCount)

{







if(WallHack)

{

texnum = (nNumVertices*100000)+nPrimitiveCount;

if(m_Stride==40 &&



(texnum==7500121 )||(texnum==8500105 )||(texnum==12400168)||(texnum==37000650)||

(texnum==18000274)||(texnum==8800105 )||(texnum==36900650)||(texnum==19600314)||

(texnum==21800306)||(texnum==7500121 )||(texnum==8500105 )||(texnum==12400168)||

(texnum==21800306)||(texnum==36900650)||(texnum==7500121 )||(texnum==37000650)||

(texnum==18000274)||(texnum==7500121 )||(texnum==8500105 )||(texnum==38000658)||

(texnum==22100268)||(texnum==62400752)||(texnum==27900456)||(texnum==45700654)||

(texnum==4800040 )||(texnum==83600752)||(texnum==33400477)||(texnum==38100666)||

(texnum==2800036 )||(texnum==62400752)||(texnum==29700492)||(texnum==84900778)||

(texnum==27500442)||(texnum==52100658)||(texnum==62400752)||(texnum==33600552)||

(texnum==44100646)||(texnum==18000274)||(texnum==37200508)||(texnum==45700654)||

(texnum==37200508)||(texnum==52100658)||(texnum==52100658) &&





(nNumVertices == 100 && nPrimitiveCount == 121) || //Foot

(nNumVertices == 105 && nPrimitiveCount == 168) || //Right Arm

(nNumVertices == 132 && nPrimitiveCount == 180) || //Hand

(nNumVertices == 159 && nPrimitiveCount == 200) || //Left Arm

(nNumVertices == 338 && nPrimitiveCount == 534) || //Underbody thanks japennese guy =)

//(nNumVertices == 448 && nPrimitiveCount == 776) || //Head

(nNumVertices == 804 && nPrimitiveCount == 1016) || //Body //SRG Option item

(nNumVertices == 109 && nPrimitiveCount == 110) || //Bulletproof Vest

(nNumVertices == 336 && nPrimitiveCount == 532)) //Battle Pants



{

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Orange);

//pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME );



pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);



//pDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID );

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Pink);

}



if(m_Stride==40 && texnum== 21300174)

{

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Green);//GreenNade

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Purple);

}





if(nNumVertices == 158 && nPrimitiveCount == 131)

{

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Red);//GreenNade

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Yellow);

}



if (nNumVertices == 171 && nPrimitiveCount == 143)

{



pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);

pDevice->SetTexture(0,Red);//GreenNade

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);

pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);

pDevice->SetTexture(0,Yellow);

}





if(m_Stride==40 &&//face,mask etc...

(texnum==36700612) ||

(texnum==9600172 ) ||

(texnum==14200236) ||

(texnum==37800552) ||

(texnum==28100486) ||

(texnum==35500568) ||

(texnum==2200024 ) ||

(texnum==16200243) ||

(texnum==31900466) ||

(texnum==19300342) ||

(texnum==36200604) ||

(texnum==21300290) ||

(texnum==35700558) ||

(texnum==22100396) ||

(texnum==36100604) ||

(texnum==27100464) ||

(texnum==11400180) ||

(texnum==34900580) ||

(texnum==13200212) ||

(texnum==34700538) ||

(texnum==19500352)&&

(nNumVertices == 448 && nPrimitiveCount == 776))



{

pDevice->SetTexture(0,Blue);

}





{

pDevice->SetRenderState(D3DRS_FOGENABLE,false);

}



/*Logger

if(m_Stride==40){





while(GetAsyncKeyState(VK_NUMPAD1)&1) arrc--; //Used as manual index for adding textures to delarray

while(GetAsyncKeyState(VK_NUMPAD3)&1) arrc++;

bool alrdy=false;

bool inarr=false;



if(texarray[arrc]==texnum)

if(delarray[i]==texarray[arrc])

alrdy=true;

for(int i=0;i<dcount;i++) //sees if said texture is in delarray

if(delarray[i]==texnum)

inarr=true;

if(texarray[arrc]==texnum || inarr){ //If true, color model differently

LPDIRECT3DTEXTURE8 texCol;

DWORD dwOldZEnable = D3DZB_TRUE;

pDevice->SetTexture(0, NULL);

pDevice->GetRenderState(D3DRS_ZENABLE, &dwOldZEnable);

pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);

if(alrdy) //Different colors for selected models that are already being logged (For removal from array)

texCol=Blue;

else

texCol=Red;

pDevice->SetTexture(0, texCol);

pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

pDevice->SetRenderState(D3DRS_ZENABLE, dwOldZEnable);



}

}

if(GetAsyncKeyState(VK_F5)&1) add_log("Logged tesx: %i", texarray[arrc]); //F5 will print currently selected texnum to logfile

if(GetAsyncKeyState(VK_F6)&1) { //For adding/removing textures to array

bool inarr=true;

for(int k=0;k<dcount;k++){

if(delarray[k]==texarray[arrc])

{

inarr=false;//Found selected texture to already exist

delarray[k]=0;//Delete texture

break;//Cancel loop

}

}

if(inarr==true)

{

delarray[dcount]=texarray[arrc];//Add texture

dcount++;

}

}

if(GetAsyncKeyState(VK_F7)&1){

int total=1;

add_log("omfg values?!? {");

for(int x=0;x

if(delarray[x]){

add_log("%i,",delarray[x]); //add_log2==add_log but without endl

total++;

}

add_log("}; %i variables in array",total);

}

bool found = false; //THIS PART CREDITS TO KRYPTEC

for(int y=0; y

{

if(texnum==texarray[y])found=true; //I JUST CREATED AN INTERFACE FOR IT

}

if(!found && arraycounter < 1000)

{

texarray[arraycounter]=texnum;

arraycounter++;

}*/





}

return pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);

}

//=====================================Dip_End===========================================================================//





//=====================================Sss_Start==========================================================================//

typedef HRESULT ( WINAPI* oSetStreamSource ) ( LPDIRECT3DDEVICE8 pDevice, UINT nStreamNumber, LPDIRECT3DVERTEXBUFFER8 pStreamData, UINT nStride );

oSetStreamSource pSetStreamSource;



HRESULT WINAPI mySetStreamSource(LPDIRECT3DDEVICE8 pDevice, UINT nStreamNumber, LPDIRECT3DVERTEXBUFFER8 pStreamData, UINT nStride)

{

if(nStreamNumber==0)

m_Stride = nStride;



return pSetStreamSource(pDevice, nStreamNumber, pStreamData, nStride);

}

//====================================Sss_End============================================================================//



//====================================Svp_Start==========================================================================//

typedef HRESULT (WINAPI* oSetViewport)(LPDIRECT3DDEVICE8 pDevice,CONST D3DVIEWPORT8* pViewport);

oSetViewport pSetViewport;



HRESULT WINAPI mySetViewport(LPDIRECT3DDEVICE8 pDevice,CONST D3DVIEWPORT8* pViewport)

{

ScreenCenterX = ( float )pViewport->Width / 2;

ScreenCenterY = ( float )pViewport->Height / 2;



return pSetViewport(pDevice,pViewport);

}

//===================================Svp_End=============================================================================//



typedef HRESULT ( WINAPI* oBeginScene ) ( LPDIRECT3DDEVICE8 pDevice );

oBeginScene pBeginScene;



HRESULT WINAPI myBeginScene(LPDIRECT3DDEVICE8 pDevice)

{

if((GetAsyncKeyState(VK_F6)&1))

{

pEndScene = (oEndScene)DetourFunction((PBYTE)dwEndScene, (PBYTE)myEndScene);

pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourFunction((PBYTE)dwDrawIndexedPrimitive, (PBYTE)myDrawIndexedPrimitive);

pSetStreamSource = (oSetStreamSource)DetourFunction((PBYTE)dwSetStreamSource, (PBYTE)mySetStreamSource);

pSetViewport=(oSetViewport)DetourFunction((PBYTE)dwSetViewport,(PBYTE)mySetViewport);

}



return pBeginScene(pDevice);

}





BOOL WINAPI DllMain ( HMODULE hModule, DWORD dwReason, LPVOID lpReserved )

{

DisableThreadLibraryCalls(hModule);



if ( dwReason == DLL_PROCESS_ATTACH )

{



//=========Log==========================//

GetModuleFileName(hModule, dlldir, 512);

for(int i = strlen(dlldir); i > 0; i--) { if(dlldir[i] == '\') { dlldir[i+1] = 0; break; } }

ofile.open(GetDirectoryFile("log.txt"), ios::app);

//=========Log=========================//



pBeginScene = (oBeginScene)DetourFunction((PBYTE)dwBeginScene, (PBYTE)myBeginScene);

pEndScene = (oEndScene)DetourFunction((PBYTE)dwEndScene, (PBYTE)myEndScene);

pDrawIndexedPrimitive = (oDrawIndexedPrimitive)DetourFunction((PBYTE)dwDrawIndexedPrimitive, (PBYTE)myDrawIndexedPrimitive);

pSetStreamSource = (oSetStreamSource)DetourFunction((PBYTE)dwSetStreamSource, (PBYTE)mySetStreamSource);

pSetViewport=(oSetViewport)DetourFunction((PBYTE)dwSetViewport,(PBYTE)mySetViewport);



}

return TRUE;

}





Log.h:Spoiler: ///////////////////////BEGIN PATCH/////////////



DWORD OldProtection;

void MEMwrite(void *adr, void *ptr, int size)

{

VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);

memcpy(adr,ptr,size);

VirtualProtect(adr,size,OldProtection, &OldProtection);

}



void NewDetourhs(long Address,int Size,int Size2)

{

long EhSvc = (long)GetModuleHandleA("EhSvc.dll");

DWORD OldProtect;

VirtualProtect((void*)(EhSvc+Address),Size,PAGE_EXECUTE_READWRITE,&OldProtect);

*(DWORD*)(EhSvc+Address) = Size2;

//*(int*)(EhSvc+Address) = Size;

}



void CopyModules(void)

{



long EhSvc = (long)GetModuleHandleA("EhSvc.dll");



//self crc checks

MEMwrite((void *)(EhSvc+0x0FF28),(void*)(PBYTE)"\xB8\x01\x00\x00\x00",5);



//anti asm scan game client

MEMwrite((void *)(EhSvc+0x1BC28),(void*)(PBYTE)"\x90\x90",2);//



////unhook dip & sss 8

MEMwrite((void *)(EhSvc+0x650A5),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x650CF),(void*)(PBYTE)"\xEB",1);//



//dll jump code check

MEMwrite((void *)(EhSvc+0x66931),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x66B79),(void*)(PBYTE)"\xEB",1);//



//anti restore page

MEMwrite((void *)(EhSvc+0x5F80E),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x5F784),(void*)(PBYTE)"\xEB",1);//



//processscan, main eagle process detect callback, for che*t engine

MEMwrite((void *)(EhSvc+0x54A14),(void*)(PBYTE)"\xE9\x7E\x0A\x00\x00",5);//



// nano detect objects

MEMwrite((void *)(EhSvc+0x2411B),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x24265),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x2435F),(void*)(PBYTE)"\x31",1);//

MEMwrite((void *)(EhSvc+0x22556),(void*)(PBYTE)"\x31",1);//

MEMwrite((void *)(EhSvc+0x26171),(void*)(PBYTE)"\x31",1);//

MEMwrite((void *)(EhSvc+0x25618),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x2572C),(void*)(PBYTE)"\xEB",1);//

MEMwrite((void *)(EhSvc+0x25ADB),(void*)(PBYTE)"\xEB",1);//



int EhPtr = 0x0D0F40;

NewDetourhs((EhPtr-0x44),0x8,4);//

NewDetourhs((EhPtr-0x40),0x8,4);//

NewDetourhs((EhPtr-0x20),0x8,4);//



NewDetourhs(0x0D13F8,0x8,4);//

NewDetourhs(0x0CD5F8,0x8,4);//

NewDetourhs(0x0C7570,0x8,4);//

NewDetourhs(0x0C7754,0x8,4);//

NewDetourhs(0x0CED40,0x8,4);//

NewDetourhs(0x0C7739,0x8,4);//

NewDetourhs(0x0D2E08,0x8,4);//

NewDetourhs(0x0C7758,0x8,4);//

NewDetourhs(0x0C62F8,0x8,4);//

NewDetourhs(0x0C7715,0x8,4);//

NewDetourhs(0x0D0F40,0x8,4);//

NewDetourhs(0x0C7719,0x8,4);//

NewDetourhs(0x0D2E40,0x8,4);//

NewDetourhs(0x0C62F8,0x8,4);//

NewDetourhs(0x0CD8FC,0x8,4);//

NewDetourhs(0x0CD5F8,0x8,4);//

NewDetourhs(0x0D3DF1,0x8,4);//



}

void Loop(void)

{

for

{

long EhSvc = (long)GetModuleHandleA("EhSvc.dll");

if(EhSvc!=0)

{

CopyModules();

}

Sleep(20);

}

}



/////////////////////END PATCH///////////////////////


Jgn lupa cendolnya gan kalo berguna + + + Twisted Evil
Kembali Ke Atas Go down
http://xs-cyber.techno-zone.net
 
[Share][SC Wallhack Asli dr Sulta-Xs]
Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» [Share][Fullhack Xs-New Season]
» [Share][Fullhack Versi Xs]
» [Share][R.25][Injector][XS][Special-FH]
» [Share][GM_PBMaster][SC Hamin]™

Permissions in this forum:Anda tidak dapat menjawab topik
Community :: Xs-Software :: Xs-Source Code X1-
Navigasi: