Does anyone know how to code the hack for the ingame radar, so that all players are shown permanently on it?
I'm thankful for any information or source code I can get. =)
Regards,
f4k3
google-site-verification: googlebaca44933768a824.html
if(main.m_pCheatCvars->radar_patch) { BYTE NULL[2] = { 0x00, 0x00 }; BYTE NOP[1] = { 0x90 }; BYTE RSpectatorCheck[2] = { 0x74, 0x07 }; BYTE BRadarTeamCheck[2] = { 0x75, 0x4C }; BYTE RTeamCheck[2] = { 0x74, 0x4C }; BYTE B_mp_forcecamera[2] = { 0xEB, 0x1C }; BYTE R_mp_forcecamera[2] = { 0x74, 0x1C }; static bool bIsPatched = false; if( !bIsPatched && main.m_pCheatCvars->radar_patch ) { main.m_pBase->MemoryCopy( "client.dll", 0x4013EC, NULL, 2 ); main.m_pBase->MemoryCopy( "client.dll", 0x40147C, NULL, 2 ); main.m_pBase->MemoryCopy( "client.dll", 0x206E3B, B_mp_forcecamera, 2 ); main.m_pBase->MemoryCopy( "client.dll", 0x1FF0A8, BRadarTeamCheck, 2 ); main.m_pBase->MemoryCopy( "client.dll", 0x207890, NOP, 1 ); main.m_pBase->MemoryCopy( "client.dll", 0x207891, NOP, 1 ); bIsPatched = true; } if( bIsPatched && !main.m_pCheatCvars->radar_patch ) { main.m_pBase->MemoryCopy( "client.dll", 0x207890, RSpectatorCheck, 2 ); main.m_pBase->MemoryCopy( "client.dll", 0x206E3B, R_mp_forcecamera, 2 ); main.m_pBase->MemoryCopy( "client.dll", 0x1FF0A8, RRadarTeamCheck, 2 ); bIsPatched = false; } }
void t00ls::MemoryCopy( char* szDllName, DWORD dwOffset, PBYTE Byte, int len ) { DWORD dwOld = 0x0; HANDLE hSnapShot = INVALID_HANDLE_VALUE; MODULEENTRY32 module32; module32.dwSize = sizeof( MODULEENTRY32 ); hSnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, 0 ); if( hSnapShot != INVALID_HANDLE_VALUE ) { if( Module32First( hSnapShot, &module32 ) ) { while( Module32Next( hSnapShot, &module32 ) ) { if(!strcmp( module32.szModule, szDllName ) ) { VirtualProtect( PVOID( ( module32.modBaseAddr + dwOffset ) ), len,PAGE_EXECUTE_READWRITE,&dwOld); memcpy( PVOID( ( module32.modBaseAddr + dwOffset ) ), Byte, len); VirtualProtect( PVOID( ( module32.modBaseAddr + dwOffset ) ), len,dwOld,&dwOld); } } } } }
//set healthtags to 0 //client.dll+4013EC //set tracks to 0 //client.dll+40147C BYTE SetZero[2] = { 0x00, 0x00 }; BYTE JMP_NEXT[2] = { 0xEB, 0x00 }; BYTE RestoreXhair[6] = { 0x0F, 0x84, 0x2B, 0x05, 0x00, 0x00 }; BYTE RestoreSpectatorCheck[2] = { 0x74, 0x07 }; BYTE RestoreHealthEnable[2] = { 0x74, 0x1B }; BYTE RestoreTrackEnable[2] = { 0x74, 0x14 }; //change of 241ff0a8 - 74 4c - je 241ff0f6 -> //241ff0a8 - 75 4c - jne 241ff0f6 BYTE BypassRadarTeamCheck[2] = { 0x75, 0x4C }; BYTE RestoreRadarTeamCheck[2] = { 0x74, 0x4C }; //change of 24206e3b - 74 1c - je 24206e59 -> //change of 24206e3b - eb 1c - jmp 24206e59 BYTE Bypass_mp_forcecamera[2] = { 0xEB, 0x1C }; BYTE Restore_mp_forcecamera[2] = { 0x74, 0x1C }; //change of 24207906 - 75 08 - jne 24207910 -> //change of 24207906 - eb 08 - jmp 24207910 BYTE BypassRadarTrackTeamCheck[2] = { 0xEB, 0x08 }; BYTE RestoreRadarTrackTeamCheck[2] = { 0x75, 0x08 }; //241CA4B8 0F84 41050000 JE client.241CA9FF //241CA4B8 E9 42050000 JMP client.241CA9FF //241CA4BD 90 NOP
//set healthtags to 0 //client.dll+4013EC //set tracks to 0 //client.dll+40147C BYTE SetZero[2] = { 0x00, 0x00 }; BYTE JMP_NEXT[2] = { 0xEB, 0x00 }; BYTE RestoreXhair[6] = { 0x0F, 0x84, 0x2B, 0x05, 0x00, 0x00 }; BYTE RestoreSpectatorCheck[2] = { 0x74, 0x07 }; BYTE RestoreHealthEnable[2] = { 0x74, 0x1B }; BYTE RestoreTrackEnable[2] = { 0x74, 0x14 }; //change of 241ff0a8 - 74 4c - je 241ff0f6 -> //241ff0a8 - 75 4c - jne 241ff0f6 BYTE BypassRadarTeamCheck[2] = { 0x75, 0x4C }; BYTE RestoreRadarTeamCheck[2] = { 0x74, 0x4C }; //change of 24206e3b - 74 1c - je 24206e59 -> //change of 24206e3b - eb 1c - jmp 24206e59 BYTE Bypass_mp_forcecamera[2] = { 0xEB, 0x1C }; BYTE Restore_mp_forcecamera[2] = { 0x74, 0x1C }; //change of 24207906 - 75 08 - jne 24207910 -> //change of 24207906 - eb 08 - jmp 24207910 BYTE BypassRadarTrackTeamCheck[2] = { 0xEB, 0x08 }; BYTE RestoreRadarTrackTeamCheck[2] = { 0x75, 0x08 }; //241CA4B8 0F84 41050000 JE client.241CA9FF //241CA4B8 E9 42050000 JMP client.241CA9FF //241CA4BD 90 NOP
void plugin_esp::patch_Game_Radar() { if ( hack_func->nActualGameMod == GAME_COUNTER_STRIKE_SOURCE ) { DWORD clientBase = phoenix_memory::GetModuleBaseAdress("client.dll"); if (clientBase) { void* m_pRadarPatch = (void*)DWORD(clientBase + 0x1FF0A8); if (m_pRadarPatch) { ConVar* cl_radaralpha = plugin_game_interface::m_pCvar->FindVar( "cl_radaralpha" ); static bool patchednigg = false; if ( esp_radar->GetBool() && hack_func->you_can_draw() ) { if (!patchednigg) { cl_radaralpha->SetValue(128.0f); phoenix_memory::protected_memcpy(m_pRadarPatch,PVOID("xEBx00"),2); patchednigg = true; } } else { if (patchednigg) { cl_radaralpha->SetValue(0.0f); phoenix_memory::protected_memcpy(m_pRadarPatch,PVOID("x74x4C"),2); patchednigg = false; } } } } } }
//241ff0a8 - 74 4c - je 241ff0f6 ->
//241FF0A8 - eb 00 - jmp 241ff0aa
void cGameRadarHack::Initialize( void )
{
if( !m_bInitialized )
{
m_dwClientDLLHandle = (DWORD)GetModuleHandle( "client" );
add_log( "cGameRadarHack::m_dwClientDLLHandle: %.8X", m_dwClientDLLHandle );
m_bInitialized = true;
}
}
void cGameRadarHack::PatchGameRadar( bool bEnable )
{
if( bEnable )
{
if( !m_bPatchedRadar )
{
gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x1FF0A8 ), PBYTE("xEBx00"), 2 );
m_bPatchedRadar = true;
}
}
else
{
if( m_bPatchedRadar )
{
gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x1FF0A8 ), PBYTE("x74x4C"), 2 );
m_bPatchedRadar = false;
}
}
}
static bool Visual_recoil = true;//aim_perfect_fire void drawing::patch_visual_recoil() { BYTE x[1] = {0xB0}; BYTE y[1] = {0xB4}; BYTE z[1] = {0xB8}; DWORD clientBase = phoenix_memory::GetModuleBaseAdress("client.dll"); if (clientBase) { void*m_pRecoilPatch[3] = {(void*)0,(void*)0,(void*)0}; m_pRecoilPatch[0] = (void*)DWORD(clientBase + 0x192B4);//X m_pRecoilPatch[1] = (void*)DWORD(clientBase + 0x192BE);//Y m_pRecoilPatch[2] = (void*)DWORD(clientBase + 0x192CA);//Z //hack_func->add_log("recoil x: 0x%X",(DWORD)m_pRecoilPatch[0]); //hack_func->add_log("recoil y: 0x%X",(DWORD)m_pRecoilPatch[1]); //hack_func->add_log("recoil z: 0x%X",(DWORD)m_pRecoilPatch[2]); if ( m_pCvars->aim_norecoil_visual->GetBool() ) { if(Visual_recoil) { //remove that annoying effect for( int i = 0; i < 3; i++ ) phoenix_memory::protected_memcpy(m_pRecoilPatch[i],PVOID("x48")/*hi*/,1); Visual_recoil = false; } } else { if(!Visual_recoil) { //restore original phoenix_memory::protected_memcpy(m_pRecoilPatch[0],x,1); phoenix_memory::protected_memcpy(m_pRecoilPatch[1],y,1); phoenix_memory::protected_memcpy(m_pRecoilPatch[2],z,1); Visual_recoil = true; } } } } //static bool nospread = true;//aim_perfect_fire void drawing::patch_client_spread() { // BYTE x[1] = {0x86}; // BYTE y[1] = {0xD9}; // BYTE z[1] = {0x96}; // // BYTE Patchx[1] = {0x9E}; // BYTE Patchy[1] = {0x89}; // BYTE Patchz[1] = {0x9E}; // // DWORD clientBase = phoenix_memory::GetModuleBaseAdress("client.dll"); // if (clientBase) // { // void*m_pSpreadPatch[3] = {(void*)0,(void*)0,(void*)0}; // m_pSpreadPatch[0] = (void*)DWORD(clientBase + 0x1E170A);//X // m_pSpreadPatch[1] = (void*)DWORD(clientBase + 0x1E16F0);//Y // m_pSpreadPatch[2] = (void*)DWORD(clientBase + 0x1E16F1);//Z // // //hack_func->add_log("spread x: 0x%X",(DWORD)m_pRecoilPatch[0]); // //hack_func->add_log("spread y: 0x%X",(DWORD)m_pRecoilPatch[1]); // //hack_func->add_log("spread z: 0x%X",(DWORD)m_pRecoilPatch[2]); // // if ( m_pCvars->aim_nospread->GetBool() ) // { // if(nospread) // { // //remove that annoying effect // phoenix_memory::protected_memcpy(m_pSpreadPatch[0],Patchx,1); // phoenix_memory::protected_memcpy(m_pSpreadPatch[1],Patchy,1); // phoenix_memory::protected_memcpy(m_pSpreadPatch[2],Patchz,1); // nospread = false; // } // } // else // { // if(!nospread) // { // //restore original // phoenix_memory::protected_memcpy(m_pSpreadPatch[0],x,1); // phoenix_memory::protected_memcpy(m_pSpreadPatch[1],y,1); // phoenix_memory::protected_memcpy(m_pSpreadPatch[2],z,1); // nospread = true; // } // } // } }
BYTE Gepatched[6] = { 0xD9, 0x86, 0x48, 0x0B, 0x00, 0x00 };
BYTE Gepatched[1] = { 0x48 };
BYTE Gepatched[1] = { 0x48 };
void cRecoil::PatchVisualRecoil( bool bEnable ) { if( bEnable ) { if( !m_bPatchedVisualRecoil ) { gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192B4 ), PBYTE("x48"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192BE ), PBYTE("x48"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192CA ), PBYTE("x48"), 1 ); m_bPatchedVisualRecoil = true; } } else { if( m_bPatchedVisualRecoil ) { gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192B4 ), PBYTE("xB0"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192BE ), PBYTE("xB4"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192CA ), PBYTE("xB8"), 1 ); m_bPatchedVisualRecoil = false; } } }
void cRecoil::PatchVisualRecoil( bool bEnable ) { if( bEnable ) { if( !m_bPatchedVisualRecoil ) { gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192B4 ), PBYTE("x48"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192BE ), PBYTE("x48"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192CA ), PBYTE("x48"), 1 ); m_bPatchedVisualRecoil = true; } } else { if( m_bPatchedVisualRecoil ) { gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192B4 ), PBYTE("xB0"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192BE ), PBYTE("xB4"), 1 ); gMemoryTools._memcpy( ( m_dwClientDLLHandle + 0x192CA ), PBYTE("xB8"), 1 ); m_bPatchedVisualRecoil = false; } } }
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, personalize advertising, and to analyze site activity. We may share certain information about our users with our advertising and analytics partners. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Comment