THIS IS A DEVELOPER'S THREAD!!!!!
Only ask question's about developing, not "how do i work it etc",or "compile it" ask in the other hundred threads.If you don't know if you should post here or not don't.
Have fun!
Possible Undetected Methods:
1)F5,F6 original this was put into place cuz GG only scanned for wallhack once,until you joined a room.so basically hook a unscanned function then once in game hook d3d.
2)another way **** it hack GG.
3)breakpoint hooking;doesnt change memory... well changes debug registers.
4)code cave the hook int3->Jmp then in the code cave->Jmp(detour)d3d functions ->jmp back to original flow ;Hook hopin
Vtable:
it wont work for vista its not a vtable hook =)
the reason why my older version worked was cuz it hooked
Createdevice->pointers to the functions
kinda like a class or a struct.
and GG scans createdevice right off the back and the only way u can hook it is a few ways {DETECTED}either when d3d8.dll loaded in....{Undetected}or reversing to internal call inside the game[0x00000] pointer.
3rd maybe- some games recreate the device when a map loads...like BF1942.
Good reading:
Toymaker - Computer Games Programming
MSDN Library Archive
Virtual method table - Wikipedia, the free encyclopedia
name.cpp
PHP Code:
/*creds to me,Roverturbo,Azorbix,Frit0 ,unreal*/
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<dcount;x++)//Loops through all recorded variables and prints them in a nice array based format
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<arraycounter; y++) //THIS IS HIS LOGGING FUNCTION
{
if(texnum==texarray[y])found=true; //I JUST CREATED AN INTERFACE FOR IT
}
if(!found && arraycounter < 1000)
{
texarray[arraycounter]=texnum;
arraycounter++;
}*/
How to add DirectX SDK:Look in the media section of this site:
soldierfront wallhacks
and
Wallhack: Source Code (Developer's Only)
Understanding detours:
OK,this little topic will be easy if you understand codecaves.
Basically what we use a detour for is to hijack an api/function.So what asmebly it writes is a Jmp[0xE9] to our module,so that now we control that function....then in the hook you hack then the original is then executed....jmp back to the original..where the program can keep flowing. Codecaves work similar but most people jmp inside the target process and u must find the empty space..and write all the extra jmp backs.
DirectX WallHack\Chams:
There are many way of doing this
the way i do it is clearing the zbuffer on the disred (model rec).
Code:
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);//disables the zbuffer on our model rec
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);//stencil buffer can be used to make a wallhack dont really need it
pDevice->SetTexture(0,Red);//set texture on model rec
Since the zbuffer is disabled thats wht u see red behind the walls
pDrawIndexedPrimitive(pDevice, pType, nMinIndex, nNumVertices, nStartIndex, nPrimitiveCount);//redraws the scene
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);//turns zbuffer back on
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);//stencil
pDevice->SetTexture(0,Yellow);//sets color on model rec
since the model is not behind the color will be yellow beacuse the zbuffer is enabled at the moment
hyper_olly u mind sending me ur wallhack u made, cuz this is from ************. so ur leaching! send me ur wallhack or imma report this and ur acc will get banned
hyper_olly u mind sending me ur wallhack u made, cuz this is from ************. so ur leaching! send me ur wallhack or imma report this and ur acc will get banned
Dont be a d**che. You see, this is the main reason I appreciate this site. GZP never sends me my confirmation email when i try to register, so I come here and download the good stuff that leaks over from GZP. Oh, and i believe, wgp, that threatening to report someone if they dont help you is blackmail.
Sir, gd pm, asa man ta makapalit ug source wallhack? Pls contact my cell #: 09394045791 at my address Joly Cord Computer Sales & Services, Orillenada St, Linintian, Cantilan, Surigao del Sur
Wallhack by RAT and Fatboy88 02/10/2009 - Soldier Front - 9 Replies Hotkey:
F7-on
F8-off
F1-crosshair
Credits to Fatboy88, SilentK, and ME =D First wallhack i ever made WOOT! Thanks to the help of my partners!
Download:
RapidShare: Easy Filehosting
Free File Hosting Made Simple - MediaFire
Wallhack: Source Code (Developer's Only) 06/11/2008 - Soldier Front - 3 Replies Have fun!
Possible Undetected Methods:
1)F5,F6 original this was put into place cuz GG only scanned for wallhack once,until you joined a room.so basically hook a unscanned function then once in game hook d3d.
2)another way **** it hack GG.
3)breakpoint hooking;doesnt change memory... well changes debug registers.
4)code cave the hook int3->Jmp then in the code cave->Jmp(detour)d3d functions ->jmp back to original flow ;Hook hopin
Vtable:
it wont work for vista its not a vtable hook =)