Autor Tema: ¿Comó dividir un archivo en varias partes en base a una cadena hexadecimal?  (Leído 1786 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado R1

  • Sinclair ZX Spectrum
  • **
  • Mensajes: 239
  • País: ar
  • Fecha de registro: Noviembre 10, 2015, 13:31:03 pm
    • Ver Perfil
Hola a todos.. la idea es separar un archivo en x cantidad de partes en base a una cadena hexadecimal que se repite.. la idea es que quede esa misma cabecera hexadecimal al inicio de cada archivo resultante.

Parece sencillo, pero no ubico alguna herramienta que haga eso.. desde ya gracias a todos.
Me gusta la tarta de puerros y de zapallito.

¿Cara o Cruz?
https://www.youtube.com/watch?v=tJHErlPywdA

Desconectado Neville

  • GLaDOS
  • *****
  • Mensajes: 5516
  • País: es
  • Fecha de registro: Diciembre 17, 2010, 22:28:17 pm
    • Ver Perfil
Uff... no sé si es exactamente lo que buscas, pero había programas que "troceaban" los archivos grandes en varios del tamaño que dijeras. Tipo Hacha, File Splitter y demás, que podrás encontrar con un buscador.

Y si no, con WinRAR puedes comprimir cualquier archivo y también pedir que te lo corte en cachitos del tamaño que tú quieras.



Desconectado gatuno

  • IBM Roadrunner
  • ****
  • Mensajes: 1217
  • País: gs
  • Fecha de registro: Abril 11, 2018, 22:45:10 pm
  • eterno aprendiz
    • Ver Perfil
A ver si lo he entendido. Por ejemplo, si tienes el archivo:
01 02 03 AA BB 01 02 03 CC DD EE FF

Quieres un programa que, le digas la cabecera "01 02 03" y te extraiga dos archivos:
01 02 03 AA BB
01 02 03 CC DD EE FF

Si es asi, lo que buscas los forenses lo llaman "file carving" o "data carving". Ya tienes palabras clave para buscar en google ;)

En Linux yo he usado herramientas como foremost, scalpel o binwalk que, ademas de poder extraer formatos conocidos (JPEG, AVI, etc) gracias a que buscan cabeceras y extraen trozos, te permiten tambien especificar la ristra de bytes que tu quieras como cabecera, que es lo que estas buscando.

No se si hay versiones nativas en windows, o que trabajo da correrlo en windows montandote un cygwin o similares. https://neosysforensics.blogspot.com/2009/02/data-carving.html

Con una busqueda rapida me sale algo similar en windows -> https://mark0.net/soft-trid-e.html Si te permite especificar una cabecera como separador ya lo tendrias.

Tambien con un editor hexa lo podrias hacer de forma manual buscando la ristra de bytes que haga de delimitador, pero lo suyo es que sea automatico, quizas algun editor hexa te permita definir una ristra de bytes que haga de separador/cabecera y lo haga 100% automatico, que es lo suyo.

Un script en python, powershell o similar seria factible. Probablemente alguien haya compartido algo ya.

Mucha suerte, espero que te pueda servir para buscar, aunque no sepa dar nada concreto, mi experiencia en win es casi nula, me cuesta usarlo, aprovechando la cuarente me pille un thin-client de segunda mano y me instale Windows XP para jugar a abandonware, soy un manta, quise cambiar la IP y estuve media hora dando vueltas por el panel de control :D no, me confundi, eso me paso en Win7, ahi si fue un laberinto para mi.
« Última modificación: Abril 21, 2020, 16:51:52 pm por gatuno »


(+) Les Manley in: Search for the King (Traducción) [Finalizada]
(+) Listado de cracks/fixes que voy haciendo

Una gran virtud que tienen los animales es que no tienen problemas de ego. No se sienten ofendidos, ni superiores, ni inferiores. En resumen, que saben vivir mejor que nosotros.

Desconectado R1

  • Sinclair ZX Spectrum
  • **
  • Mensajes: 239
  • País: ar
  • Fecha de registro: Noviembre 10, 2015, 13:31:03 pm
    • Ver Perfil
Exactamente Gatuno ahora te leo.. no llegué a responderle a Neville ya que me salió esta respuesta tuya...
Todavía no terminé de leer lo que has escrito.

Edito: Lo voy a estar mirando, pero mientras dejo escrito que si alguna de estas herramientas corren en modo consola o modo texto se pueden correr en Termux en Android.. el archivo ya lo tengo en el teléfono.. Usar el Termux en Android me es más comodo para no estar peleando con los conflictos en Windows.. como Python etc...

Edito 2: Conseguí hacerme del Foremost.. dividir los divide.. pero no entiendo porqué es obligatorio pasarle el peso del archivo... si le pasas el header y el footer por parámetro.. No consigo que copie todo.. y si pongo un tamaño demasiado grande infla los archivos con basura (?) o no sé que hace. A lo mejor estoy haciendo algo mal..

Al parecer quizá el tema esté en que trata a los archivos de forma bruta sobre el disco como si estuviera rescatando datos borrados (?) y la basura que capta es basura del propio disco.

Aquí hallé algo más con el Foremost.. lo miro y después comento..

Edito 3: Pues al final no logré nada o no me entendí con el Foremost... se me ocurrió de combinar distintas herramientas como el hxd, notepad++, partcopy de sfx y al final ejecutar todo con un .bat que le manda cada comando para cada archivo al partcopy.. Y al final va bastante bien.. ya terminé con uno de los archivos grandes y el video se ve bien.. me faltan 3 más.

No había pillado que el hxd te ubica todos los offsets con el patrón seleccionado.. Ahí se me aceleró la tarea pasandolo al notepad++

Para optimizar la tarea faltaría guardar los offsets de forma automatica en un txt que con el hxd no encontré forma.. y luego con un script leer los offsets y generar las lineas que estoy haciendo a mano con el notepad++ en otro txt que se convetirá en .bat para ejecutar el partcopy.

Bueno ese sería el flujo de la solución a la que llegué en este momento.
« Última modificación: Abril 21, 2020, 21:37:51 pm por R1 »
Me gusta la tarta de puerros y de zapallito.

¿Cara o Cruz?
https://www.youtube.com/watch?v=tJHErlPywdA