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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


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


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Duda con WriteProcessMemory
« en: 4 Febrero 2008, 04:10 am »

Bueno estaba probando para cambiar el nombre del jugador en el CS (Counter Strike) 1.6 y bueno lo logre con el CE (Cheat Engine) y quise hacerlo con VB6 hice lo siguiente pero no me da resultado pareciera que no escribe...

Código:
Option Explicit

Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF

Private Declare Function GetAsyncKeyState Lib "user32.dll" ( _
        ByVal vKey As Long) As Integer

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
        ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long

Private Declare Function GetWindowThreadProcessId Lib "user32.dll" ( _
        ByVal hwnd As Long, _
        ByRef lpdwProcessId As Long) As Long
       
Private Declare Function OpenProcess Lib "kernel32.dll" ( _
        ByVal dwDesiredAccess As Long, _
        ByVal bInheritHandle As Long, _
        ByVal dwProcessId As Long) As Long
       
Private Declare Function WriteProcessMemory Lib "kernel32.dll" ( _
        ByVal hProcess As Long, _
        ByRef lpBaseAddress As Any, _
        ByRef lpBuffer As Any, _
        ByVal nSize As Long, _
        ByRef lpNumberOfBytesWritten As Long) As Long

Private Declare Function CloseHandle Lib "kernel32.dll" ( _
        ByVal hObject As Long) As Long
       
Private Sub CambiarNombre(Nombre As String)
Dim wHandle As Long
Dim pId     As Long
Dim pHandle As Long

wHandle = FindWindow(vbNullString, "Counter-Strike")

If wHandle = 0 Then Exit Sub

GetWindowThreadProcessId wHandle, pId

pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pId)

If pHandle = 0 Then Exit Sub

WriteProcessMemory pHandle, &H2F4DC28, StrPtr(Nombre), LenB(Nombre), 0&

CloseHandle pHandle
End Sub

Private Sub Form_Load()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyF5) Then CambiarNombre ("NADER")
End Sub


« Última modificación: 4 Febrero 2008, 16:58 pm por naderST » En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Duda con WriteProcessMemory
« Respuesta #1 en: 4 Febrero 2008, 12:49 pm »

Con solamente WriteProcessMemory no te va a funcionar...necesitas reservar memoria para poder escribir...

Fijate en este post que hice, este reserva una región de memoria en un proceso remoto y leugo escribe en el.

http://foro.elhacker.net/index.php/topic,168272.0.html

Intenta extraer lo que necesites del codigo.

Un Saludo  :)


En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Duda con WriteProcessMemory
« Respuesta #2 en: 4 Febrero 2008, 16:00 pm »

Muchas gracias ya me pongo a verlo.
En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Duda con WriteProcessMemory
« Respuesta #3 en: 4 Febrero 2008, 16:54 pm »

Amigo pero deberia funcionar como yo lo puse porque fijate yo saque el codigo de un Trainer de el juego GTA: San Andreas con WriteProcessMemory y de ahi fue de donde me guie yo...

Este es parte del codigo del trainer:

Código:
Private Sub FreezeTime()
Dim hwnd As Long
Dim pid As Long
Dim pHandle As Long
Dim x As Integer

hwnd = FindWindow(vbNullString, "GTA: San Andreas")
If (hwnd = 0) Then hwnd = FindWindow(vbNullString, "GTA: San Andreas")

If (hwnd = 0) Then
    lblState.Caption = "State: Jeu non Lancer."
    Timer1.Enabled = False
    Exit Sub
End If

GetWindowThreadProcessId hwnd, pid

pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)

If (pHandle = 0) Then
    lblState.Caption = "State: Couldn't get a process handle."
    Timer1.Enabled = False
    Exit Sub
End If

WriteProcessMemory pHandle, Hex2Dec("52CF53"), Hex2ASCII("90 90 90 90 90 90"), Len(Hex2ASCII("90 90 90 90 90 90")), 0&

CloseHandle pHandle
End Sub
En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Duda con WriteProcessMemory
« Respuesta #4 en: 5 Febrero 2008, 00:06 am »

De la manera que te indico yo tiene que funcionar al 100%, prueba usando mi codigo  :-\

Sino no se porque no funciona.
En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Tughack


Desconectado Desconectado

Mensajes: 490


Ver Perfil
Re: Duda con WriteProcessMemory
« Respuesta #5 en: 5 Febrero 2008, 11:55 am »

Hendrix, no siempre hay k reservar espacio en memoria. Pero si hay k revisar los permisos. naderST, has visto se hay permisos para escribir? Intenta usar el VirtualProtectEx. Ah, y mira nuevamente se los offsets estan correctos ^^

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Read/WriteProcessMemory Windows 7 Vb.Net
Hacking
Keyen Night 0 2,515 Último mensaje 21 Febrero 2011, 20:38 pm
por Keyen Night
mMemory - WriteProcessMemory/vbaCopyBytes/RtlMoveMemory replacement [NOAPI!!!] « 1 2 3 4 5 »
Programación Visual Basic
Karcrack 46 22,380 Último mensaje 10 Octubre 2012, 04:57 am
por BlackZeroX
Duda WriteProcessMemory
Programación Visual Basic
TheJucas21 2 2,936 Último mensaje 21 Noviembre 2017, 03:41 am
por TheJucas21
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines