Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: peperote en 20 Enero 2013, 16:21 pm



Título: [DUDA] Abrir y cambiar valores hexadecimales
Publicado por: peperote en 20 Enero 2013, 16:21 pm
buenas

me gustaria que me pueiderais solucionar la duda de como podria abrir y modificar valores hexadecimales de un archivo .bin, tengo un nivel basico de este lenguaje asique espero que me ayudeis, gracias


Título: Re: [DUDA] Abrir y cambiar valores hexadecimales
Publicado por: Danyfirex en 21 Enero 2013, 15:42 pm
Podrías hacer algo como esto.

Código
  1. Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal L As Long)
  2.  
  3. Private Sub Form_Load()
  4. Dim file As String
  5. Dim datos() As Byte
  6. file = "C:\Users\Pink\Desktop\1.txt" 'tu archivo a cargar
  7. Open file For Binary As #1
  8. ReDim datos(LOF(1) - 1)  ' LOF(1) - 1 numero de offset de tu archivo
  9. Get #1, , datos  ' obtenemos tu archivo en un array de byte
  10. Close #1
  11.  
  12. 'aqui seria el numero del offset
  13. 'datos(0) =  offset 0
  14.  
  15. Call CopyMemory(datos(0), Asc("h"), 1) ' aqui copiamos la letra h a nuestro offset 0 1 byte
  16. 'si quieres copiar 30 bytes seria algo asi
  17. 'Dim bytes2() As Byte
  18. 'bytes2() = StrConv("XXXXXXXXXXXXXXXXXXXXXXXXXXXX", vbFromUnicode)
  19. 'Call CopyMemory(datos(0), bytes2(0), 30)
  20.  
  21. Open file For Binary As #1
  22. Put #1, , datos
  23. Close #1
  24.  
  25.  
  26.  
  27. End Sub

saludos