[b]Hola.. tengo una duda muy grande.. que tengo desde hace un tiempo.. es lo siguiente

tengo un code en visual basic de un programa que ise para editar una direccion de memoria de un proceso con una direccion un value y el nombre de el proceso a editar..

tengo el code perfecto me funciona pero solo me edita hasta 4 bytes ... tambien tengo otro que edita la memoria del proceso con el numero de bytes que desee.. pero hay un problema que de value no se pueden poner numeros sino el significado de los mismos en la memoria aver si no me entienden les dejo esta imagen



como vieron ojala me haya dado a entender.. el code edita es la parte del lado derecho del dump no la parte de los valores .. aqui les dejo el code y una demostracion de ello...

esto va en un modulo de clase:

Código:
'bueno esto es para editar la memoria dandole el nombre de un proceso etc con su address y value..

Private Function WriteMemory(dwProcId As Long, dwAddress As Long, 
ByVal pValue As Long, ByVal dwLength As Long) As Boolean

If dwAddress = 0 Then
 WriteMemory = False
 Exit Function
End If

Dim procHandle  As Long
procHandle = OpenProcess(PROCESS_ALL_ACCESS, False, dwProcId)
If procHandle = 0 Then
 WriteMemory = False
 Exit Function
End If

Dim dwReturned As Long
dwReturned = WriteProcessMemory(procHandle, ByVal dwAddress, ByVal pValue, dwLength, 0&)

If dwReturned > 0 Then
 WriteMemory = True
Else
 WriteMemory = False
End If

End Function

'Ven Este es el que edita 4 bytes.. pero no edita mas de alli si lo hago me sale error de desbordamiento..

Public Function Write4Bytes(dwProcId As Long, dwAddress As Long, ByVal dwValue As Long) As Boolean

If dwProcId = 0 Or dwAddress = 0 Then
 Write4Bytes = False
 Exit Function
End If

If WriteMemory(dwProcId, dwAddress, VarPtr(dwValue), LenB(dwValue)) = False Then
 Write4Bytes = False
 Exit Function
End If

Write4Bytes = True

End Function

'Aver Este Es La Parte De La Cual Les menciono Arriba.... Si Pongo Este Code Me Edita El Otro Lado de la memoria ven :p como en la imagen de arriba.. 
'Y no se como editarlo o arreglarlo para que edite pero con values.. si me pueden ayudar seria estupendo!! :D

Public Function WriteArray(dwProcId As Long, dwAddress As Long, ByVal dwValue As String) As Boolean

If dwProcId = 0 Or dwAddress = 0 Then
 WriteArray = False
 Exit Function
End If

Dim szByteArray() As Byte
ReDim szByteArray(Len(dwValue))

Dim x As Long
For x = 1 To UBound(szByteArray)
 szByteArray(x - 1) = CByte(Asc(Mid$(dwValue, x, 1)))
Next x

If WriteMemory(dwProcId, dwAddress, VarPtr(szByteArray(0)), Len(dwValue)) = False Then
 WriteArray = False
 Exit Function
End If

WriteArray = True

End Function
ahora miren el code de el editor como es...

Código:
Private Poke As New Edicion_Memoria 'esto es un modulo de clase
Private Proc As New Procesos ' esto es un modulo de clase. esta perfecto es para cojer el pid correcto del proceso

Private Sub Form_Activate()

Dim Address1 As Long

Address1 = &H400000

GetProcessID ("AlgunProceso.exe")
dwProcId = ProgID

if checkbox1.value = 1 then
Poke.WriteArray dwProcId, Address1, "ËÌÈÉ×ÏÈÍÎÛØÚÙÊÜÝÞßàáãäå@Error‹ÀRuntime errorat 00000000‹À0123456789ABCDEF"
end if

Unload Me
End Sub
Ajam Asi Seria El Code Para Poder Editar Un Array Pero Resulta Que yo quiero es poner un value con numeros no eso.. porque si pongo los numeros en la memoria como señale arriba en el dump se mostraran numeros en ves de lo que se debe mostrar..

espero me hayan entendido y porsiacaso se enrredo quien sea que me pueda ayudar aqui esta como yo quiero que sea

Código:
if checkbox1.value = 1 then
Poke.WriteArray dwProcId, Address1, "11 CB CC C8 C9 D7 CF C8 CD CE DB D8 DA D9 CA DC DD DE DF E0 E1 E3 11 E4 E5 8D 40 11 45 72 72 6F 72 11 8B C0 52 75 6E 74 69 6D 65 20 65 72 72 6F 72 20 20 20 20 20 61 74 20 30 30 30 30 30 30 30 30 11 8B C0 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 11 11 11 11 11 11 11 11 11 11 11 11"
end if
Bueno Eso Es Todo.. ya intente cambiando los valores y aun asi me da error de desbordamiento en el code de 4 bytes y si edito el de "WriteArray" siempre me da un error... no se como si me pueden ayudar seria Genial!! ;D

Gracias De Antemano Hasta Luego