Leer Offset y Hex de archivos

Iniciado por marisagirl, 31 Julio 2011, 21:33 PM

0 Miembros y 2 Visitantes están viendo este tema.

marisagirl

Hola,me gustaria saber como puedo abrir un archivo y localizar cierto offset y cierta parte hexadecimal comparandolas con unas de un texto.
Nose se que pido mucho jeje.O tambien localizando strings dentro de dicho archivo y despues compararlo para saber si es el mismo o no.

Lo intente hacer mediante md5,pero al modificar una misera parte dl fichero pues cambia por completo,y mediante crc no funciona muy bien.

Y no se me ocurren muchos mas metodos jee

ignorantev1.1

Código (vb) [Seleccionar]

Dim Archivo As String
Dim FF As Integer
Dim OffSet() As Byte
Dim fLen As Long

Archivo = "C:\Executable.exe"
FF = FreeFile

Open Archivo For Binary As FF
fLen = LOF(FF)
ReDim OffSet(fLen)
Get FF, , OffSet
Close FF

MsgBox "Contenido del OffSet 584: " & Hex$(OffSet(584)) ' Offset 584


Espero y te sirva Saludos!

marisagirl

Gracias,funciona de 10,aunque solo me abre ejecutables pero bueno jeje.

Intente añadir esto  Hex$(OffSet(584) & (585)) para que me lea el ofset de al ladito,pero resulta que no me da el valor de al lado,sino una especie d suma de los offsets :S

Aun asi muchas gracias por el code,me ha servido de muchisimo.

y una ultima cosina,conocen algun tipo de algoritmo de identificacion estilo md5,sha1...que sea identificativo para cada archivo pero que no varie cuando cambio una misera letra d un texto y siga conservando parte de su esencia?¿ algo stilo crc,que si cambio algo sigue manteniendolo.

Gracias Gracias Gracias


ignorantev1.1

Como que solo te abre ejecutables?  :-\

No, te debe abrir todos (o casi todos), los tipos de archivos.

Código (vb) [Seleccionar]

Archivo = "C:\otroarchivo.dat"
Archivo = "C:\otroarchivo.dll"
Archivo = "C:\otroarchivo.com"


Código (vb) [Seleccionar]

Hex$(OffSet(584) & Hex$(OffSet((585)))

marisagirl

gracias funciona de lujo.
Salvo que si el archivo es demasiado pequeño no me lo da,pero no es problema.

Un Millon de gracias