FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#41
|
||||
|
||||
elmago00,
Cita:
El código anterior en Delphi XE4 (FireMonkey) bajo Windows 7 Professional x32, permite cambiar una cadena hexadecimal en un archivo por medio de dos funciones: 1- Función ChangeFileHex: Cambia n ocurrencias de una cadena hexadecimal por una nueva cadena hexadecimal en un archivo dado y salva los cambios en un nuevo archivo del mismo nombre del original con extensión .new, en el mismo directorio del archivo de entrada. 2- Función ChangeFileOffset: Sustituye en un Offset (Dirección en Decimal) de un archivo dado una cadena hexadecimal y salva los cambios en un nuevo archivo del mismo nombre del original con extensión .new, en el mismo directorio del archivo de entrada. Los Bytes Per Row (BPF) de ambas funciones están en función de la longitud de la cadenas de entrada OldHex (Función ChangeFileHex) y NewHex (Función ChangeFileOffset), siendo importante recordar que ambas cadenas deben ser del mismo tamaño en las funciones mencionadas. Nota: Las dos funciones anteriores leen y modifican los archivos de entrada y salida directamente en disco, lo cual les permite procesar archivos de cualquier tamaño, limitados solo por las características del Sistema de Archivos del Sistema Operativo de forma rápida y eficiente e independientemente de cualquier componente de Delphi, funcionado correctamente según lo esperado en las pruebas realizadas. Espero sea útil Nelson. |
#42
|
|||
|
|||
Muchas gracias ya esta resuelto todo. finalice el proyecto y mañana lo entrego a la empresa.
Gracias Nelson y ecfisa. |
#43
|
||||
|
||||
elmago00,
Cita:
Revisa este código: El código anterior en Delphi XE4 (FireMonkey) bajo Windows 7 Professional x32, es la versión 2 del código del Msg #41 con los siguientes cambios: 1- Optimiza el código y lo hace más legible. 2- Corrige el Número de Bytes a Escribir en función del NBR (Number of Bytes Read) en el caso de que los archivos procesados no sean múltiplos de BPF (Bytes Per Row). Espero sea útil Nelson. |
#44
|
|||
|
|||
gracias, lo tendré en cuenta, ya que hoy lo enviare por correo a la empresa. muchas gracias
sin ustedes nunca hubiera solucionado el problema, gracias |
#45
|
|||
|
|||
Hola Nelson,
Perdona la molestia, pero ahora tengo una pregunta, sera posible cambiar todas las cadenas hexadecimales, que tengan un mismo valor? es que tu código solo me permite, cambiar una sola linea, pero debo cambiar varias, y con tu código, solo cambia una a la vez. Gracias por tu respuesta. |
#46
|
||||
|
||||
elmago00,
Cita:
Revisa la función ChangeFileHex del Msg #43, esta permite cambiar n ocurrencias de una cadena Hex por una nueva cadena Hex en un archivo. Espero sea útil Nelson. |
#47
|
|||
|
|||
Si precisamente es la función. Q utilizo.
Seguramente algo no e hecho bien por que solo Cambia una solí cadena, pero las otras siguen igual. Es decir si yo tengo 6 cadenas hexadecimales de. 16. Bytes. Solo cambia la primera cadena de 16 y las demás no. Volvere a rebisar gracias de nuevo. Última edición por elmago00 fecha: 06-01-2015 a las 10:39:02. |
#48
|
|||
|
|||
no Nelson, sigue cambiando una sola cadena, veras si yo tengo esto.
2D 55 FD 85 CD 22 63 EE ED B7 EE 44 01 DD 44 2D 55 FD 85 CD 22 63 EE ED B7 EE 44 01 DD 44 2D 55 FD 85 CD 22 63 EE ED B7 EE 44 01 DD 44 2D 55 FD 85 CD 22 63 EE ED B7 EE 44 01 DD 44 solo cambia la primera cadena, y a veces la segunda o tercera, pero solo una. las otras siguen igual. |
#49
|
||||
|
||||
elmago00,
Cita:
Te comento: 1- Reviso la función ChangeFileHex del Msg #43 y en lo que tenga una respuesta la publico. 2- Te sugiero publicar un link con el archivo que quieres modificar y el detalle de la modificación (Hexadecimal-Anterior y Hexadecimal-Nuevo). Saludos, Nelson. Última edición por nlsgarcia fecha: 06-01-2015 a las 22:18:45. |
#50
|
||||
|
||||
elmago00,
Cita:
Te comento: 1- Revise la función ChangeFileHex del Msg #43 y funciona correctamente según lo esperado en pruebas realizadas en archivos de texto y binarios. 2- Te sugiero publicar un link con el archivo que quieres modificar y el detalle de la modificación (Hexadecimal-Anterior y Hexadecimal-Nuevo), para poder hacer pruebas con la data real. Saludos, Nelson. |
#51
|
|||
|
|||
lo hago asi
el archivo para esta cadena es este: dump.rar y si yo intento cambiar varias cadenas de 16 me cambia solo una, y las otras no. entre menor es la cadena, mayor es el cambio que hace y viceversa. gracias por tu tiempo. |
#52
|
|||
|
|||
Veras que la cadena anterior aparece 6. Veces pero solo cambia 3 cadenas y las otras se mantienen.
Y si cambias cadenas de mayor tamaño solo cambia una. |
#53
|
|||
|
|||
El silencio. Me hace temer lo peor.
Esta difícil y la vez extraño verdad? Yo llevó 2 semanas y nada. Disculpa el haberte puesto en este lío Nelson. Agradezco tu ayuda. Última edición por elmago00 fecha: 08-01-2015 a las 07:41:33. |
#54
|
||||
|
||||
elmago00,
Cita:
En lo que lo tenga listo lo publico, me falta un detalle Saludos, Nelson. Última edición por nlsgarcia fecha: 08-01-2015 a las 12:50:22. |
#55
|
||||
|
||||
elmago00,
Cita:
Revisa este código: El código anterior en Delphi 7 sobre Windows 7 Professional x32, permite cambiar N ocurrencias de una cadena hexadecimal por una nueva sin importar el tamaño de la misma, esta es una modificación de la función publicada en el Msg #43. Nota: 1- La velocidad de procesamiento es un bit menor dado que se lee el archivo por medio de una ventana deslizante determinada por la cadena de búsqueda, lo cual garantiza que se encuentren y modifiquen todas las ocurrencias de la misma. 2- La cadena de búsqueda y su sustituto (OldHex y NewHex), deben ser del mismo tamaño. 3- La función fue probada con archivos de texto y binarios (.exe y .dll), funcionado correctamente según lo esperado en todos los casos. El archivo dump.dll original y su versión modificada dump.new en función de lo publicado en el Msg #51, esta disponible en : Test Dump Espero sea útil Nelson. Última edición por nlsgarcia fecha: 08-01-2015 a las 14:26:14. |
#56
|
|||
|
|||
Muchas Gracias Nelson
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda con este codigo | kurono | Varios | 5 | 02-04-2014 01:25:11 |
Se estrena este foro sobre FireMonkey | Neftali [Germán.Estévez] | FireMonkey | 9 | 09-11-2012 14:05:30 |
ayuda con este codigo | kurono | Varios | 4 | 13-06-2008 02:03:29 |
necesito ayuda con este codigo | kurono | Varios | 4 | 06-05-2008 08:02:07 |
procedimiento almacenado ayuda con este codigo | pipecato | Varios | 5 | 16-12-2005 13:24:34 |
|