elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Codigo Fuente, Cheat Cs 1.6
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Codigo Fuente, Cheat Cs 1.6  (Leído 7,847 veces)
Luchoz95

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Codigo Fuente, Cheat Cs 1.6
« en: 6 Abril 2013, 06:19 am »

Buenaas gente, queria compartirle con ustedes un cheat que hice con ayuda de variaas personas , simplemente lo que hace es hookear las direcciones de Opengl32, como me aconsejaron no es muy bueno usar este metodo , pero por ahora aprendi de esta manera , ja!
main.cpp
Código
  1. #include <windows.h>
  2. #include <gl/gl.h>
  3. #include <gl/glu.h>
  4.  
  5. DWORD* glClearPtr=(DWORD*)0x027E85CC;
  6. DWORD* glBeginPtr=(DWORD*)0x027E89EC;
  7. DWORD* glvertexPtr=(DWORD*)0x027E851C;
  8.  
  9. int sky = 1;
  10. bool nosky = false;
  11.  
  12. void APIENTRY NewglBegin( GLenum mode )
  13. {
  14.  
  15. //PERFECT WALLHACK
  16. if(!(mode==GL_TRIANGLES||mode==GL_TRIANGLE_STRIP||mode==GL_TRIANGLE_FAN||mode==GL_QUADS))
  17. {
  18. GLfloat curcol[4];
  19. glGetFloatv(GL_CURRENT_COLOR, curcol);
  20. glDisable(GL_DEPTH_TEST);
  21. glEnable(GL_BLEND);
  22. glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
  23. glColor4f(curcol[0],curcol[1],curcol[2],0.5f);
  24. glClearColor(0.0f,0.0f,0.0f,0.0f);
  25. }
  26. //SIMPLEWALLHACK
  27. if(mode==GL_TRIANGLES||mode==GL_TRIANGLE_STRIP||mode==GL_TRIANGLE_FAN)
  28. {
  29. glDisable(GL_DEPTH_TEST);
  30. }
  31. //WHITEWALLS
  32. if ( mode != GL_TRIANGLES && mode != GL_TRIANGLE_STRIP && mode != GL_TRIANGLE_FAN && mode != GL_QUADS )
  33. {
  34. glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
  35. }
  36. //LAMBERT
  37. if(mode == GL_TRIANGLE_STRIP)
  38. {
  39.     glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL);
  40. }
  41. //NO SKY
  42. if(sky == 1 && mode== GL_QUADS)
  43. { nosky = true;}
  44. else
  45. { nosky = false;}
  46.  
  47.  
  48. glBegin(mode);
  49. }
  50.  
  51.  
  52.  
  53. void APIENTRY NewglClear(GLbitfield mask)
  54. {
  55. if (mask == GL_DEPTH_BUFFER_BIT)
  56.  
  57. {
  58. glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
  59. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  60.  
  61.  
  62. }
  63. glClear(mask);
  64. }
  65.  
  66.  
  67. void APIENTRY NewglVertex3fv(const GLfloat *v)
  68. {
  69. if(nosky == true)
  70. {
  71. return;
  72. }
  73.    glVertex3fv(v);
  74. }
  75.  
  76.  
  77.  
  78. //FUNCION PRINCIPAL DE DLL
  79. BOOL APIENTRY DllMain(HANDLE hInst, DWORD dwReason, LPVOID lpReserved)
  80. {
  81. if (dwReason == DLL_PROCESS_ATTACH)//SI LA DLL SI INJECTA ...
  82. {
  83.  
  84. MessageBox(NULL,"WallHack Activated!","Message",MB_OK);
  85.               *glBeginPtr=(DWORD)NewglBegin;
  86.       *glClearPtr=(DWORD)NewglClear;
  87.       *glvertexPtr=(DWORD)NewglVertex3fv;
  88.  
  89. }
  90. return TRUE;
  91. }

Es muy problame que a varios no les funcione , porque pueden tener distinta version del CS , y a su vez distintas direcciones de las funciones de Opengl, pero ACA el usuario 85 explica como obtener esas direcciones ... bueno espero que les sirva de algo!

S2!


En línea

El Che Guevara

Desconectado Desconectado

Mensajes: 86


=>Te cabe!=>


Ver Perfil WWW
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #1 en: 6 Abril 2013, 06:24 am »

 :P VIEJO VICIO QUE SOLIA JUGAR!! ME ACUERDO QUE ME CEBABA MAL CON EL CHEAT 'LIQUID' O EL 'CD-HACK DISABLED' ...HASTA QUE SALIO EL ANTICHEAT SXE PERO ME SIRVIO PARA SALIR DE ESE VICIO  :xD


En línea

"la unica verdad es la realidad" (Domingo Peron)
85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #2 en: 6 Abril 2013, 15:55 pm »

Si, vos lo dijiste.. eso es una demostración muy específica que te di para lograr un wallhack en el CS 3266, muy específico de esa versión.
Mi intención no era que lo tomés como el método a seguir.
Yo antes que mostrarte eso, te había dicho que la mayoría de los hacks (al menos los primeros), interceptaban GetProcAddress para "engañar" al juego por decirlo así.
Fijate si podés utilizar 'Detours' con las funciones de Opengl32, fijate los códigos de karman, si no lo conocés, es un usuario de este foro que se ha dedicado a estas cosas..

Si tu intención no es pasar las detecciones modernas de sistemas antitrampas, podés empezar con 'Detours', seguir con otras formas de 'patching', fijate los códigos de karman por ejemplo, más adelante vas a aprender otras técnicas, por ejemplo hardware breakpoints.
Eso que preguntaste sobre "codecaves" en otro post tuyo, eso es relacionado al 'patching', y son la mayoría métodos intrusivos.
Los breakpoints de hardware, son no intrusivos ya que no parchean nada.
En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Luchoz95

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #3 en: 6 Abril 2013, 21:52 pm »

Gracias por lo consejos como siempre 85!
En línea

mr.blood

Desconectado Desconectado

Mensajes: 150


Ver Perfil
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #4 en: 6 Abril 2013, 22:00 pm »

Para que hagas un Hook decente :P.

http://foro.elhacker.net/analisis_y_diseno_de_malware/libreria_c_hook_a_la_iat-t381524.0.html

Sa1uDoS
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #5 en: 7 Abril 2013, 16:49 pm »

Si en un orden de decencia, sería algo así (para Opengl32):

- HWBP (Aunque sólo 4 por hilo)
- IAT hook (GPA)
- EAT hook (Opengl32)
- Detours (Opengl32, TIB, o GPA)
- MS Detours (Opengl32 o GPA)
- Wrapper de Opengl32
- parchear el juego (Lo que hicistes vos Luchoz95 XD)

Aunque sólo te estamos diciendo que busqués otros métodos, no tiene nada de malo parchear el juego, lo que pasa es que eso no hace al hook precisamente portable hacia otras versiones del juego.

Saludos
« Última modificación: 7 Abril 2013, 16:52 pm por 85 » En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Luchoz95

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #6 en: 8 Abril 2013, 00:56 am »

Siempre se empieza de abajo (? ja! , todas esos metodos son en modo usuario o alguno usas ring0 ?
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #7 en: 8 Abril 2013, 01:04 am »

Nop, Ring0 ak no tiene nada que ver. Vos sabés que para ejecutar código en modo Ring0 se requiere un driver, y las librerías son otras que las de modo Ring3 (usuario). Es decir es otro tema XD, se requiere una DDK para compilar drivers, es otro tema

Todo esto es desde Ring3. Pero si te interesa saber si se puede hacer desde Ring0, la respuesta es si, todo o casi todo se puede hacer desde ese nivel.
Sólo que es otra programación (otras librerías).

Andá escalando XD, ya sabés lo que es parchear el juego, sabés lo que es un 'wrapper' de DLL, sabés acerca de usar 'Detours' que también es parchear.
Y también deberías saber acerca de EAT y IAT debido a los múltiples temas que se han publicado al respecto. Por ejemplo el link de mr.blood
En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Luchoz95

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #8 en: 8 Abril 2013, 01:35 am »

aah, claro voy a tratar de ir escalando por metodo
En línea

85

Desconectado Desconectado

Mensajes: 206



Ver Perfil WWW
Re: Codigo Fuente, Cheat Cs 1.6
« Respuesta #9 en: 9 Abril 2013, 21:29 pm »

aah, claro voy a tratar de ir escalando por metodo

La verdad, esto que hiciste se puede considerar parchear el juego, pero en realidad se aplica a cuando cambiás bytes en la memoria del proceso en la parte del código, los punteros son datos aunque podemos considerarlo un parche el hecho de reemplazar un valor por otro.

Los 'Detours' también es "parchear el juego".

Los hooks del tipo EAT y IAT también se trata de parchear, lo mismo, osea punteros.

Pero eso te dije que son métodos instrusivos.

Son fáciles de detectar y de restaurar.
Por eso cuando uno parchea algo que tiene comprobaciones de seguridad, lo que se debe hacer también es parchear esas comprobaciones XD, para que no te detecten

En línea

Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Codigo Fuente
Ingeniería Inversa
popemonica 1 2,795 Último mensaje 25 Octubre 2005, 01:06 am
por #Borracho.-
Software que analice el código fuente de un proyecto buscando codigo malicioso
Bugs y Exploits
murdock_ 8 10,329 Último mensaje 18 Agosto 2010, 01:14 am
por Erfiug
Extrayendo código fuente de una web (Problema con código generado por JS)
PHP
Littl3 4 8,481 Último mensaje 3 Marzo 2011, 04:13 am
por Nakp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines