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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Ayuda] Usando La api ReadProcessMemory
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Usando La api ReadProcessMemory  (Leído 2,834 veces)
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
[Ayuda] Usando La api ReadProcessMemory
« en: 24 Junio 2014, 23:47 pm »

Hola amigos otra ves vengo con la duda que abrí en el sub-foro de ingeniería inversa

http://foro.elhacker.net/ingenieria_inversa/como_leer_posicion_de_memoria_con_vb6-t415165.0.html

Pero ahora con el código que tengo en vb6 es el siguiente:

Este es el form:

Código
  1. Option Explicit
  2. Private Sub Form_Load()
  3. lbl_Nombre.Caption = Environ("ComputerName")
  4. If AbrirProceso Then
  5.   lbl_Password.Caption = Leer(&H14FC80)
  6. End If
  7. End Sub
  8. Private Sub Label1_Click()
  9. End
  10. End Sub
  11.  

Este es el modulo:

Código
  1. Option Explicit
  2. Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
  3. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  4. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  5. Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
  6.  
  7. Private Const PROCESS_ALL_ACCESS = &H1F0FFF
  8. Private P_HANDLE As Long
  9. Private P_PID As Long
  10.  
  11. Public Function AbrirProceso() As Boolean
  12. If FindWindow(vbNullString, "CrackShit") Then
  13.   GetWindowThreadProcessId FindWindow(vbNullString, "CrackShit"), P_PID
  14.   P_HANDLE = OpenProcess(PROCESS_ALL_ACCESS, False, P_PID)
  15. End If
  16. If P_PID = 0 Then
  17.   MsgBox "El Crackme CrackShit No Esta en Ejecucion...", vbCritical, "Error De Ejecucion"
  18.   AbrirProceso = False
  19.   Exit Function
  20. End If
  21. If P_HANDLE = 0 Then
  22.   MsgBox "El KeyGen No Pudo Abrir El Proceso CrackShit...", vbCritical, "Error Al Abrir El Proceso"
  23.   AbrirProceso = False
  24.   Exit Function
  25. End If
  26. AbrirProceso = True
  27. End Function
  28. Public Function Leer(Address As Long) As Byte
  29. Dim Valor As Byte
  30. Dim i As Long
  31. For i = 0 To 12
  32.  ReadProcessMemory P_HANDLE, Address + i, Valor, 1, 0&
  33.  MsgBox Valor
  34. Next i
  35. Leer = Valor
  36. End Function
  37.  

Espero me ayuden ya que no lee nada

Nota: lo de el msgbox dentro del for son pruebas que asía yo para ver si leía algo y lo de retornar un byte también son pruebas con eso no hay problema eso déjenlo así si quieren yo después lo arreglo ya que me digan como a serle para leer

Saludos Flamer


En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Ayuda] Usando La api ReadProcessMemory
« Respuesta #1 en: 25 Junio 2014, 00:01 am »

Probaste depurar para ver que esta fallando?

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: [Ayuda] Usando La api ReadProcessMemory
« Respuesta #2 en: 25 Junio 2014, 01:33 am »

Si te refieres poner un punto de interrupcion y presionar F8 en vb ya lo hice y la variable valor no pesca ningun valor solo 0

saludos Flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

asesino-de-hackers

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: [Ayuda] Usando La api ReadProcessMemory
« Respuesta #3 en: 26 Junio 2014, 09:26 am »

te edito una parte.

Código
  1. Option Explicit
  2. Private Sub Form_Load()
  3. lbl_Nombre.Caption = Environ("ComputerName")
  4. If AbrirProceso Then
  5.  lbl_Password.Caption = Leer(&H14FC80)
  6. End If
  7. End Sub-alt
  8. Public Sub Label1_Click()
  9. End
  10. End Sub

La tenes que dejar en Public en la liena label1

para realizar una llamada al string tenes que usar

Código
  1. Public Declare Function GetWindowThreadProcessId Lib "user"

el modulo nunca te va a funcionar si lo pones en privada.

lo demas lo compones como se debe!!

Saludos!
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: [Ayuda] Usando La api ReadProcessMemory
« Respuesta #4 en: 26 Junio 2014, 17:04 pm »

Hola asesino las apis todo el tiempo se declaran en privado si no te genera un error el cual orita no me acuerdo y no estamos  para ablar de eso.
Y con la api GetWindowTheadProcessId no estoy tratando de ablarle a ningun string si no al id del proceso que es un numero y por otro lado lo del label es un objeto que cierra el programa y como todos los objetos por default van en privado

Saludos Flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Ayuda] Usando La api ReadProcessMemory
« Respuesta #5 en: 26 Junio 2014, 17:51 pm »

Si te refieres poner un punto de interrupcion y presionar F8 en vb ya lo hice y la variable valor no pesca ningun valor solo 0

saludos Flamer

OK, y los valores anteriores? FindWindow, GetWindowThreadProcessId y OpenProcess funcionan o dan error? Antes de usar las APIs así, guarda los valores de retorno y verifica si estan funcionando bien.

Como ultimo recurso, puedes compilar y ejecutar el exe con Olly. Le pones un BP en la API y verificas si los parametros los está pasando bien (muchas veces hay errores en la declaración de los parametros: byval ó byref).

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: [Ayuda] Usando La api ReadProcessMemory
« Respuesta #6 en: 26 Junio 2014, 18:19 pm »

Hola fly si...... FindWindow entra al if si esta en ejecucion el crackme y GetWindowThreadProcessId si me de vuelbe el PID ya lo verifique en el administrador de tareas y OpenPrecess me de vuelbe un numero y no cero como antes o me falta algo?

Lo del olly lo boy a intentar.... luego te digo

---------------------Edito--------------
ya lee solo faltaba compilarlo y con el olly da igual que el vb solo 0 eso pienso es por que estaba siendo depurado... problema ahora es que no son los valores que esperaba

saludos Flamer
« Última modificación: 26 Junio 2014, 19:02 pm por Flamer » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ReadProcessMemory [VB6] ??? « 1 2 »
Programación Visual Basic
Xhelar 10 9,173 Último mensaje 8 Enero 2010, 05:01 am
por engel lex
[Ayuda] ReadProcessMemory Address Dinamico
.NET (C#, VB.NET, ASP)
.mokk. 4 6,823 Último mensaje 18 Marzo 2014, 00:30 am
por Eleкtro
ayuda, uso del ReadProcessMemory VB6.0
Programación Visual Basic
AlxSpy 4 2,986 Último mensaje 8 Junio 2011, 16:04 pm
por AlxSpy
[AYUDA] ReadProcessMemory
Programación Visual Basic
ŞCØRPIØN-X3 5 2,846 Último mensaje 2 Agosto 2011, 21:43 pm
por ŞCØRPIØN-X3
[AYUDA] ReadProcessMemory y Address
Programación Visual Basic
sebah97 2 2,383 Último mensaje 14 Mayo 2012, 00:57 am
por extreme69
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines