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 General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Modificar Valores de la Memoria
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Modificar Valores de la Memoria  (Leído 1,620 veces)
WILMER5

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Modificar Valores de la Memoria
« en: 3 Septiembre 2008, 19:13 pm »

Hola amigos estoy haciendo un pequeño programa donde quiero modificar valores de la memoria en tiempo de ejecución, por ejemplo el programa selecciona un proceso y en una direccion de memoria leer y guardar valores, soy un poco novato en esto pero ya he avanzado un poco... para valores de 1,2 y 4 byte ya lo se hacer de esta manera:

Esta es la funcion que uso para leer valores y me funciona perfecto

Public Function ReadLong(Offset As Long, ProcessID As Long) As Long
    Dim ProcessHandle As Long
    Dim Value As Long
    ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, False, ProcessID)
    If ProcessHandle = 0 Then
         MsgBox "No se encuentra el proceso", vbCritical, "Error de Lectura"
        Exit Function
    End If
    ReadProcessMem ProcessHandle, Offset, Value, 4, 0&
    ReadLong = Value
    CloseHandle ProcessHandle
End Function

Esta es la funcion que uso para escribir valores.

Public Function WriteLong(Offset As Long, ProcessID As Long, Value As Long) As Boolean

    Dim ProcessHandle As Long
    ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, False, ProcessID)
    If ProcessHandle = 0 Then
        MsgBox "No se encuentra el proceso", vbCritical, "Error de Lectura"
        Exit Function
    End If
    WriteProcessMemory ProcessHandle, Offset, Value, 4, 0&
    CloseHandle ProcessHandle
End Function

ahora lo que me gustaria saber es como leer y guardar valores de Array de Byte

Por ejemplo:

en la dirección de memoria &H353BD7C0 guardar los siguientes valores, esto es un array de 96 bytes...

28 79 3D 35 00 00 00 00 2C 79 3D 35 00 00 00 00 48 BB 3B 35 01 00 00 00 4C 79 3D 35 01 00 00 00 DC 75 2F 35 58 93 2D 35 A4 04 00 00 F8 BE 3B 35 70 A3 0F 35 C0 A0 0F 35 D0 A0 0F 35 E0 A0 0F 35 00 A1 0F 35 10 A1 0F 35 20 A1 0F 35 F0 A0 0F 35 01 00 00 00 FF FF FF FF 30 A6 0F 35 58 93 2D 35

Muchos Gracias por leer el tema espero puedan ayudarme!!!


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