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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ...memoria & el Basic XD
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ...memoria & el Basic XD  (Leído 1,793 veces)
schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
...memoria & el Basic XD
« en: 13 Mayo 2008, 14:50 pm »

...bueno hace un tiempo atras, jugando un jueguito de golf en linea ^^, encontre un hack para dicho juego
...pero resulta que yo no lo vi como un hack, sino como un editor de memoria de cualquier programa en ejecucion
...aunque ya depues de eso podias mandarle ciertas instrucciones (todo en hexadecimal) al programa en ejecucion
...y podias hacer (tomando el ejemplo del juego) tiros que no se te permitian, cambiar de tipo de bola, cosas parecidas a esa
...solo era cuestion de saber que instruccion era para que cosa^^
...en ese tiempo sabia casi nada de programacion (como ahora casi xD)
...por ahi encontre un ejemplo pero no basta, ademas de que no esta en hexadecimal, no lo entendi xD
...si alguien sabe, nose si me puede dar algunos alcanzes y si no es mucho pedir una explicada no me vendira mal^^
...gracias

PD: el ejemplo que encontre fue este
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=32235&lngWId=1


En línea

xavierote

Desconectado Desconectado

Mensajes: 134


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #1 en: 13 Mayo 2008, 16:33 pm »

Tengo unos módulos de clase que te hacen ese trabajito, es decir, hacer un handle al programa y acceder a su rango de memoria.

Lo conseguí hace tiempo en alguna página de gamehacking.
http://www.megaupload.com/?d=MZ3FZZIA


Te explico su uso:
Tienes que incluir en el proyecto los 3 archivos: modAPI.bas, ReadMem.cls y WriteMem.cls
Luego tienes que crear una instancia para esas clases de esta manera:
Código:
Dim ReadMemory As New clsReadMem
Dim WriteMemory As New clsWriteMem

Si los declaras en (General), mejor.
Por último, hacer las llamadas correspondientes utilizando sus funciones, como por ejemplo en un command button:
Código:
ReadMemory.TargetWindow = "Heroes 4"

Esto lo que hace es buscar el handle de la ventana que tiene como título "Heroes 4".
Código:
ReadMemory.ReadLong Direccion, ReadValue
txtRecursos.Text = ReadValue

ReadValue es una variable de tipo long, ya que estamos accediendo a la memoria con una longitud de tipo Long (4 bytes).
Direccion es una variable que contiene la dirección que queremos acceder en base diez, es decir, sistema decimal.

Y para escribir en la memoria lo mismo, pero accediendo a las funciones de la clase WriteMemory que hemos declarado.

Si no sabes que son las clases o como utilizarlas, busca más al respecto. Es la esencia de Visual Basic, programación orientada a objetos.

¡Un saludo!


En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: ...memoria & el Basic XD
« Respuesta #2 en: 13 Mayo 2008, 17:29 pm »

Básicamente es usar WriteProcessMemory para cambiar los valores q te interesen ;)
En línea

schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #3 en: 14 Mayo 2008, 13:57 pm »

...gracias estoy viendo todo eso ahora^^

...bueno y estaba viendo otro codigo, y tengo una idea de para que sirve pero me gustaria saber que es lo que piensan uds

Código:
Declare Function CreateToolhelpSnapshot Lib "kernel32" _
Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, lProcessID As Long) As Long

Public Const TH32CS_SNAPPROCESS As Long = 2&

Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szexeFile As String * 260
End Type

...ver algo de ese codigo me asusta un poco xD, ya que no me lo se en parte
...entonces la ultima parte es para ver los procesos del PC y la primera?...

saludos!
En línea

Tughack


Desconectado Desconectado

Mensajes: 490


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #4 en: 14 Mayo 2008, 14:12 pm »

msdn...
En línea

schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #5 en: 14 Mayo 2008, 15:37 pm »

msdn...
...o.o!

...gracias, nose como no se me ocurrio
...tengo unas... lagunas mentales... xD
...eso aclaro varias dudas

...pero aun no puedo armar
...ya tengo un codigo para saber lo de las ventanas abiertas
pero...
Esto lo que hace es buscar el handle de la ventana que tiene como título "Heroes 4".
Código:
ReadMemory.ReadLong Direccion, ReadValue
txtRecursos.Text = ReadValue

ReadValue es una variable de tipo long, ya que estamos accediendo a la memoria con una longitud de tipo Long (4 bytes).
Direccion es una variable que contiene la dirección que queremos acceder en base diez, es decir, sistema decimal.

...no lo entendi mucho (me parece muy tecnico)
...creo que tengo que empezar llevar clases de basic, pero de verdad xD

...espero no molestar^^

saludos!
En línea

Tughack


Desconectado Desconectado

Mensajes: 490


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #6 en: 14 Mayo 2008, 16:25 pm »

Es una lastima k mucha gente no entienda k si aprenden a trabajar con apis y a saber k apis usar para lo k necesitan hacer pueden programar en kualkier lenguaje con poco esfuerzo.

Usar clases de vb para leer y escribir memoria (o para kualkier otra cosa) no es un buen comenzo pork al usarlas no saben k estan haciendo (a no ser k las hagan vosotros, aunk en mi opinion es perdida de tiempo)...

Saludos
En línea

schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #7 en: 14 Mayo 2008, 17:01 pm »

Es una lastima k mucha gente no entienda k si aprenden a trabajar con apis y a saber k apis usar para lo k necesitan hacer pueden programar en kualkier lenguaje con poco esfuerzo.

Usar clases de vb para leer y escribir memoria (o para kualkier otra cosa) no es un buen comenzo pork al usarlas no saben k estan haciendo (a no ser k las hagan vosotros, aunk en mi opinion es perdida de tiempo)...

Saludos
...tu razonamiento tiene sentido o.o!

...talvez siga tu consejo y me vaya a las api y luego a esto de la memoria

...pero si alguien me puede dar un adelanto explicandome seria muy util^^

PD: logre encontrar el programa es el NoobEngineSE ^^ lo analizare un poco mas
En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: ...memoria & el Basic XD
« Respuesta #8 en: 15 Mayo 2008, 03:23 am »

Citar
Usar clases de vb para leer y escribir memoria (o para kualkier otra cosa) no es un buen comenzo pork al usarlas no saben k estan haciendo (a no ser k las hagan vosotros, aunk en mi opinion es perdida de tiempo)...

Seee, cuando me enseñaron en profundidad funciones en pascal en la universidad me vine corriendo a revisar los codigos de basic y los empece a mirar con una perspectiva mas...comprendedora digamos. y ahi empezo a tomar color  :P
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines