- Yasaklandı
- #1
Evet Arkadaslar bugun sizlere Cs.1.6 Da WallHack Kodlamayı Gösteceiğim
Kod:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>
#include <time.h>
#include <Tlhelp32.h>
#include <Mmsystem.h>
#pragma comment(lib, "Winmm.lib")
HANDLE Handle;
HMODULE OPENGL32 = NULL;
HMODULE KERNEL32 = NULL;
PROCESSENTRY32 PE32 = { sizeof(PROCESSENTRY32) };
MODULEENTRY32 ME32 = { sizeof(MODULEENTRY32) };
BYTE GLBEGIN[] =
{
0x55,0x8b,0xec,0x83,0xec,0x8, 0xc7,0x45,0xfc,0xc0,0xf7,
0xfd,0x7f,0x83,0x7d,0x8, 0x5, 0x74,0x6, 0x83,0x7d,0x8,
0x6, 0x75,0x2e,0x8b,0x45,0xfc,0x83,0x38,0x0, 0x75,0x26,
0xc7,0x45,0xf8,0x0, 0x0, 0x0, 0x3f,0xd9,0x45,0xf8,0x83,
0xec,0x8, 0xdd,0x1c,0x24,0x83,0xec,0x8, 0xd9,0xee,0xdd,
0x1c,0x24,0xe8,0xff,0xff,0xff,0xff,0x8b,0x4d,0xfc,0xc7,
0x1, 0x1, 0x0, 0x0, 0x0, 0x83,0x7d,0x8, 0x9, 0x74,0x12,
0x83,0x7d,0x8, 0x4, 0x74,0xc, 0x83,0x7d,0x8, 0x7, 0x74,
0x6, 0x83,0x7d,0x8, 0x8, 0x75,0x26,0x8b,0x55,0xfc,0x83,
0x3a,0x1, 0x75,0x1e,0x83,0xec,0x8, 0xd9,0xe8,0xdd,0x1c,
0x24,0x83,0xec,0x8, 0xd9,0xee,0xdd,0x1c,0x24,0xe8,0x94,
0x2, 0x0, 0x0, 0x8b,0x45,0xfc,0xc7,0x0, 0x0, 0x0, 0x0,
0x0, 0xff,0x75,0x8, 0xb8,0xbc,0xf7,0xfd,0x7f,0xff,0x10,
0x8b,0xe5,0x5d,0xc2,0x4, 0x0,
};
BYTE THREAD[] =
{
0x55,0x8b,0xec,0x51,0xc7,0x45,0xfc,0xcd,0xab,0x34,0x12,
0x33,0xc0,0x33,0xc9,0x8b,0x90,0xcc,0xf7,0xfd,0x7f,0x89,
0x91,0xbc,0xf7,0xfd,0x7f,0xb8,0x1, 0x0, 0x0, 0x0, 0x85,
0xc0,0x74,0x13,0x33,0xc9,0xc7,0x81,0xcc,0xf7,0xfd,0x7f,
0x0, 0x10,0x4b,0x72,0x6a,0x64,0xff,0x55,0xfc,0xeb,0xe4,
0x8b,0xe5,0x5d,0xc3,
};
BOOL WINAPI Modules( DWORD ProcID )
{
HANDLE hSnapshot =
CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, ProcID );
Module32First( hSnapshot, &ME32 );
do
{
if( _tcsicmp( _T( "opengl32.dll" ), ME32.szModule ) == 0 ) {
CloseHandle( hSnapshot );
return TRUE;
}
}while( Module32Next( hSnapshot, &ME32 ) );
CloseHandle( hSnapshot );
Sleep( 100 );
return FALSE;
}
BOOL WINAPI Search( void )
{
HANDLE hSnapshot =
CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
Process32First( hSnapshot, &PE32 );
do {
if( _tcsicmp( _T( "hl.exe"), PE32.szExeFile ) == 0 ) {
CloseHandle( hSnapshot );
Handle = OpenProcess( 0x000004BA, 0, PE32.th32ProcessID );
return TRUE;
}
} while( Process32Next( hSnapshot, &PE32 ) );
CloseHandle( hSnapshot );
Sleep( 100 );
return FALSE;
}
void main( void )
{
while( OPENGL32 == NULL )
OPENGL32 = LoadLibraryA( "opengl32.dll" );
while( KERNEL32 == NULL )
KERNEL32 = LoadLibraryA( "kernel32.dll" );
DWORD dwGlmfPlayGlsRecord = (DWORD)
GetProcAddress( OPENGL32, "GlmfPlayGlsRecord" );
DWORD dwSleep = (DWORD)
GetProcAddress( KERNEL32, "Sleep" );
///////////////////////////////////////
DWORD Destination = (DWORD)
GetProcAddress( OPENGL32, "glDepthRange" );
DWORD Origin = dwGlmfPlayGlsRecord + 58;
*(PDWORD)(GLBEGIN + 58) =
( ( Destination - Origin ) - 4 );
///////////////////////////////////////
Origin = dwGlmfPlayGlsRecord + 120;
*(PDWORD)(GLBEGIN + 120) =
( ( Destination - Origin ) - 4 );
///////////////////////////////////////
*(PDWORD)(THREAD + 44) =
dwGlmfPlayGlsRecord;
///////////////////////////////////////
*(PDWORD)(THREAD + 7) =
dwSleep;
///////////////////////////////////////
BOOL bSearch = FALSE;
while( bSearch == FALSE )
bSearch = Search( );
BOOL bSearchMods = FALSE;
while( bSearchMods == FALSE )
bSearchMods = Modules( PE32.th32ProcessID );
WriteProcessMemory( Handle, (LPVOID)dwGlmfPlayGlsRecord,
GLBEGIN, sizeof(GLBEGIN), NULL );
WriteProcessMemory( Handle, (LPVOID)
(dwGlmfPlayGlsRecord + sizeof(GLBEGIN)),
THREAD, sizeof(THREAD), NULL );
CreateRemoteThread( Handle, 0, 0, (LPTHREAD_START_ROUTINE)
(dwGlmfPlayGlsRecord + sizeof(GLBEGIN)), 0, 0, 0 );
CloseHandle( Handle );
system( "PAUSE" );
}