SoloCodigo

Programación Específica => Diseño de Algoritmos => Mensaje iniciado por: bloodyogos en Jueves 10 de Julio de 2008, 11:04

Título: aplicacion para modificar archivos hex
Publicado por: bloodyogos en Jueves 10 de Julio de 2008, 11:04
hola, querria pedir algun tipo de referencia para hacer un programita que aga lo siguiente:

-abra un archivo hex.
-coja un bloque si un bloque no, y cree un archivo hex nuevo con esta informacion.
-por ultimo, ha de poder sobre escribir el archivo creado sobre el archivo original en el mismo orden.

para hablar mas claro un ejemplo:

Original hex:
00 00 12 00 3d 00 00 00 21 00 2e 00 4e 00 00 00

Seleccion hex:
00 00 12 00 3d 00 00 00 21 00 2e 00 4e 00 00 00

Nuevo hex:
00 12 3d 00 21 2e 4e 00

Se edita el archivo hex y se cambia:
00 12 3d 00 34 4e 5f 2w

Se sobre escribe al original hex:
00 00 12 00 3d 00 00 00 34 00 4e 00 5f 00 2w 00

asi seria la dinamica, alguien sabria como encararlo?
Gracias por adelantado
Título: Re: aplicacion para modificar archivos hex
Publicado por: patitofeo en Sábado 9 de Agosto de 2008, 13:10
Yo lo haría:

1- Apertura del fichero ORIGEN

2- Copia del fichero origen en COPIA

3- Apertura de un fichero TEMP

4- Lectura del fichero ORIGEN:
      a - Lectura 1º byte
      b - escritura del byte en TEMP
      c - sumo uno al cursor del fichero para moverme al siguiente byte a leer
            d - vuelta a a- hasta fin del fichero

5- Apertura de un buffer de edición sobre el fichero TEMP (apoyandome en un Text Box por ejemplo)

6- Espera fin de edición y paso de buffer aTEMP.

7- Borrado de fichero ORIGEN (no pasa nada, tienes una copia)

8- Creación de un fichero con el mismo nombre (ORIGEN).

9- reconstrucción del fichero:
    a - lectura de un byte en TEMP
    b - escritura del byte en ORIGEN
    c - suma de uno al cursor del fichero COPIA para situarme en los bytes impares (1, 3 ...)
    d - lectura del byte correspondiente en COPIA
    e - escritura del byte en ORIGEN
         f - volver a a- hasta el fin del fichero



Esta sería la secuencia que yo seguiría. El como depende del lenguaje, del sistema operativo y del tipo de aplicación que desees.

Un saludo