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:
Este es el modulo:
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
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 (vb) [Seleccionar]
Option Explicit
Private Sub Form_Load()
lbl_Nombre.Caption = Environ("ComputerName")
If AbrirProceso Then
lbl_Password.Caption = Leer(&H14FC80)
End If
End Sub
Private Sub Label1_Click()
End
End Sub
Este es el modulo:
Código (vb) [Seleccionar]
Option Explicit
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
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private P_HANDLE As Long
Private P_PID As Long
Public Function AbrirProceso() As Boolean
If FindWindow(vbNullString, "CrackShit") Then
GetWindowThreadProcessId FindWindow(vbNullString, "CrackShit"), P_PID
P_HANDLE = OpenProcess(PROCESS_ALL_ACCESS, False, P_PID)
End If
If P_PID = 0 Then
MsgBox "El Crackme CrackShit No Esta en Ejecucion...", vbCritical, "Error De Ejecucion"
AbrirProceso = False
Exit Function
End If
If P_HANDLE = 0 Then
MsgBox "El KeyGen No Pudo Abrir El Proceso CrackShit...", vbCritical, "Error Al Abrir El Proceso"
AbrirProceso = False
Exit Function
End If
AbrirProceso = True
End Function
Public Function Leer(Address As Long) As Byte
Dim Valor As Byte
Dim i As Long
For i = 0 To 12
ReadProcessMemory P_HANDLE, Address + i, Valor, 1, 0&
MsgBox Valor
Next i
Leer = Valor
End Function
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