OpenGL CS 1.6 Wallhack (C++)


C ve C++ Programlama    C ve C++ Programlama İle İlgili Paylaşım Kategorisi

Yazar: ErdemMH    62 Yorum    2337 Görüntüleme
  • Derecelendirme: 0/5 - 0 oy

Paylaşım Tarihi: 25.01.2016, 17:06:59 #1
ErdemMH .
Süper Üye
Status: Çevrimdışı Yorumları:649 Konuları:123 Kayıt Tarihi:10.12.2015 Rep Puanı: 224

Şimdi de CS 1.6 WallHack Source Paylaşma Vakti.

[HIDE]

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#pragma comment(lib,"OpenGL32.lib")
#pragma comment(lib,"GLu32.lib")

#include <windows.h>
#include <string>
#include <tlhelp32.h>
#include <iostream>
#include <gl\gl.h>
#include <gl\glu.h>

typedef void ( APIENTRY *glBegin_t )( GLenum );
typedef void ( APIENTRY *glEnd_t )( void );
typedef void ( APIENTRY *glClear_t )( GLbitfield );
typedef void ( APIENTRY *glVertex3fv_t )( const GLfloat *v );
typedef void ( APIENTRY *glVertex3f_t )( GLfloat x,  GLfloat y,  GLfloat z );
typedef void ( APIENTRY *glEnable_t )( GLenum );

glBegin_t pglBegin = NULL;
glEnd_t pglEnd = NULL;
glClear_t pglClear = NULL;
glVertex3fv_t pglVertex3fv = NULL;
glVertex3f_t pglVertex3f = NULL;
glEnable_t pglEnable = NULL;

bool wallhack = false;

void DrawBox(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) 
{ 
glBegin(GL_QUADS); 
glVertex3f(x,y,z); 
glVertex3f(x+width,y,z); 
glVertex3f(x+width,y+height,z); 
glVertex3f(x,y+height,z); 
glEnd(); 
} 


//=================================================================================
// ###################### Hooked OpenGL Functions #################################
//=================================================================================

void APIENTRY Hooked_glBegin( GLenum mode )
{
	if (GetAsyncKeyState(VK_F1)&1) wallhack = !wallhack;

	if (wallhack)
	{
		if(mode == GL_TRIANGLES || mode == GL_TRIANGLE_STRIP || mode == GL_TRIANGLE_FAN)
			glDepthRange(0, 0.5);
		else
			glDepthRange(0.5, 1);
	}

	if(pglBegin)
		(*pglBegin)(mode);
}

void APIENTRY Hooked_glEnd( void )
{
	(*pglEnd)();
}

void APIENTRY Hooked_glVertex3fv( GLfloat *v )
{	
	(*pglVertex3fv)( v );
}


void APIENTRY Hooked_glVertex3f ( GLfloat x,  GLfloat y,  GLfloat z )
{
	(*pglVertex3f)( x, y, z );
}

void APIENTRY Hooked_glClear( GLbitfield mask )
{
	(*pglClear)( mask );
}

void APIENTRY Hooked_glEnable (GLenum cap)
{
		/*if (GetAsyncKeyState(VK_F2))
			DrawBox(200,100,0,50,30);*/

	(*pglEnable)(cap);
}

void *DetourFunc( BYTE *src, const BYTE *dst, const int len )
{
	BYTE *jmp = (BYTE*)malloc( len + 5 );
	DWORD dwback;
	VirtualProtect( src, len, PAGE_READWRITE, &dwback );
	memcpy( jmp, src, len );
	jmp += len;
	jmp[0] = 0xE9;
	*(DWORD*)( jmp + 1 ) = (DWORD)( src + len - jmp ) - 5;
	src[0] = 0xE9;
	*(DWORD*)( src + 1 ) = (DWORD)( dst - src ) - 5;
	VirtualProtect( src, len, dwback, &dwback );
	return ( jmp - len );
}
void HookGL()
{
	HMODULE hOpenGL = GetModuleHandle("opengl32.dll");
	pglVertex3fv =   (glVertex3fv_t)DetourFunc( (LPBYTE)GetProcAddress(hOpenGL, "glVertex3fv" ), (LPBYTE)&Hooked_glVertex3fv, 6 );
	pglVertex3f  =   (glVertex3f_t)DetourFunc( (LPBYTE)GetProcAddress(hOpenGL, "glVertex3f" ), (LPBYTE)&Hooked_glVertex3f, 6);
	pglBegin     =   (glBegin_t)DetourFunc( (LPBYTE)GetProcAddress(hOpenGL, "glBegin"),(LPBYTE)&Hooked_glBegin,6);
	pglEnd       =   (glEnd_t)DetourFunc( (LPBYTE)GetProcAddress(hOpenGL, "glEnd" ), (LPBYTE)&Hooked_glEnd, 6 );
	pglClear     =   (glClear_t)DetourFunc( (LPBYTE)GetProcAddress(hOpenGL, "glClear" ), (LPBYTE)&Hooked_glClear, 7 );
	pglEnable    =   (glEnable_t)DetourFunc( (LPBYTE)GetProcAddress(hOpenGL, "glEnable"), (LPBYTE)&Hooked_glEnable, 6);
}
	

DWORD WINAPI dwMainThread( LPVOID )
{	
	HookGL();

	return TRUE;
}

BOOL WINAPI DllMain( HINSTANCE hInstDLL,DWORD dwReason,LPVOID lpReserved )
{
	if( dwReason==DLL_PROCESS_ATTACH )
		CreateThread(0,0,dwMainThread,0,0,0);

return TRUE;
}

[/HIDE]
Son Düzenleme: 25.01.2016, 17:07:21, Düzenleyen: ErdemMH.

Kullanıcı İmzası
Resim http://49.media.tumblr.com/a410c087590891fc6b1a319ada18acba/tumblr_mwh8fc9NX81s0twoeo1_r3_400.gif

Resim http://i.hizliresim.com/L15Y7b.jpg

Paylaşım Tarihi: 28.01.2016, 18:47:44 #2
Hypnos Yeğen
Kayıtlı Üye
Status: Çevrimdışı Yorumları:30 Konuları:3 Kayıt Tarihi:28.01.2016 Rep Puanı: 0

eyw yararlı

Paylaşım Tarihi: 28.01.2016, 18:48:27 #3
Sound Cezalı Üye
Cezalı Üye
Status: Çevrimdışı Yorumları:12 Konuları:1 Kayıt Tarihi:28.01.2016

sağol adamsın

Paylaşım Tarihi: 28.01.2016, 18:50:49 #4
Azrail Because.
Süper Üye
Status: Çevrimdışı Yorumları:534 Konuları:55 Kayıt Tarihi:24.01.2016 Rep Puanı: 75

Eyvallah Kardeşim

Kullanıcı İmzası
En Karanlık Gece Bile Sona Erer ve Güneş Yeniden Doğar.


Adama Adam Gibi Davranırız.

Keşke Mallara Zam Gelsede Kendilerini Ucuza Satmasalar.


Paylaşım Tarihi: 28.01.2016, 18:52:58 #5
uznyol123 Yeğen
Kayıtlı Üye
Status: Çevrimdışı Yorumları:11 Konuları:0 Kayıt Tarihi:26.12.2015 Rep Puanı: 1

bakcam abi

Paylaşım Tarihi: 28.01.2016, 19:38:08 #6
alisina45 Yeğen
Kayıtlı Üye
Status: Çevrimdışı Yorumları:44 Konuları:1 Kayıt Tarihi:12.12.2015 Rep Puanı: 5

Bakalım Bi

Paylaşım Tarihi: 28.01.2016, 20:06:20 #7
yunus56 Delikanlı
Onaylı Uye
Status: Çevrimdışı Yorumları:57 Konuları:10 Kayıt Tarihi:16.12.2015 Rep Puanı: 1

OOOO eywallah erdem

Paylaşım Tarihi: 28.01.2016, 20:10:45 #8
cengizhanzu Yeğen
Kayıtlı Üye
Status: Çevrimdışı Yorumları:41 Konuları:0 Kayıt Tarihi:31.12.2015 Rep Puanı: 0

çok güzel beya










Aradığınızı Bulamadınız Mı ?

Konuyu Okuyanlar:
1 Ziyaretçi