Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Misomeister en 27 Mayo 2017, 01:08 am



Título: Modificar valores Hex en múltiples archivos
Publicado por: Misomeister en 27 Mayo 2017, 01:08 am
Hola amigos, tiene años que no he escrito nada por acá, os solicito su ayuda con el siguiente caso:

Tengo una colección de libros en pdf que contienen unas marcas de agua que consisten en ciertas líneas de texto que contienen el copyright, marca de la empresa donde fueron descargados, usuario y la hora en que fueron descargados. Al hacer cambios en el acrobat pro, desaparecen esas "marcas de agua" sin embargo cuando se revisa el código a nivel hexadecimal el texto ahí permanece. Por otro lado, al descomprimir el pdf, cambiarle la extensión a .txt reescribir el texto (aunque sea el mismo numero de carecteres), corrompe el pdf.

Experimentando un poco, noté que simplemente al reescribir la cadena hexadecimal con espacios (hex=20) de las marcas de agua es suficiente para que desaparezca del documento sin ningún rastro de lo que había escrito y sin corromper el pdf. Pero tengo las siguientes dudas:

Dado que tengo que repetir el proceso con +20.000 documentos y como es tedioso a mano,

¿Existe la manera de hacer un script ya sea bash, powershell o algun programa que reemplace una o unas cadenas en formato hexadecimal?

¿Sería posible que dado un valor inicial de caracteres se reemplace ese texto + 10 caracteres más para adelante (para borrar las marcas de agua que son variables como fecha/hora de descarga)?

Os comento que en los ficheros en cuestión, las marcas de agua se encuentran en direcciones diferentes (depende del pdf). Os adjunto este ejemplo de muestra de como se ven las marcas de agua y donde podrían ubicarse.

Los direcciones de los offsets de este pdf se encuentran (revisenlo con cualquier editor hex):


https://mega.nz/#!b0lQCZqa!BRa3GPTA8yX9t_0f_Ln1rNH8SdXFCo4t92lV4DRNTQI
 (https://mega.nz/#!b0lQCZqa!BRa3GPTA8yX9t_0f_Ln1rNH8SdXFCo4t92lV4DRNTQI)

Código:
1270
1460
1650
19F0
0F10

Ayuda chicos por favor!
Saludos




Título: Re: Modificar valores Hex en múltiples archivos
Publicado por: xor.pt en 29 Mayo 2017, 18:31 pm
Hola.

Un pequeño programa en delphi ejemplo puedes hacer lo que deseas.
Jugar todos .PDF en una carpeta y primer paso del programa es jugar el nombre de todos los documentos en un ListBox, luego abrir uno por uno, abrir, editar en los offsets y guardar.


Título: Re: Modificar valores Hex en múltiples archivos
Publicado por: animanegra en 29 Mayo 2017, 18:52 pm
¿¿por que no utilizas sed??

Código:
hexdump back2.jpg | head
0000000 d8ff e0ff 1000 464a 4649 0100 0001 0100
0000010 0100 0000 feff 3b00 5243 4145 4f54 3a52

Código:
cat back2.jpg | sed s/"\xff\xd8"/"\x00\x00"/ | hexdump | head
0000000 0000 e0ff 1000 464a 4649 0100 0001 0100
0000010 0100 0000 feff 3b00 5243 4145 4f54 3a52

Fijate que los caracteres en hexadecimal tienes que invertilros. Aqui estoy cambiando el d8ff por los valores 0000.

Si eso lo metes en un bucle bash que recorra tus archivos, ya lo tienes. Eso si, cuidado con las colisiones. :)