Autor
|
Tema: [aporte] MIME identificar archivos por su contenido (Leído 9,345 veces)
|
Yoghurt
Desconectado
Mensajes: 122
Si alguien se molesto en escribir, justo es leer.
|
Mas de alguno a querido saber el tipo de algun archivo como lo hacen los sistemas basados en UNIX basandose puramente en su contenido, pues he creado un modulo ocupando esa información para que nada se les escape, se llama MIME.
Descripción: Módulo que intenta detectar el tipo de los archivos basandose en su contenido. Mediante los conocidos Magics. Contiene al menos 317 entradas que identifican archivos, incluyendo texto, musica, imagen, videos y otros.
Ej de que son los magics: cangrejo_canguroo.pdf --> MAGIC = "%PDF-" --> MIME = "application/pdf" --> EXTENSION = "pdf"
Usos: Tiene un montón de usos, desde saber si el archivo solicitado es realmente del tipo de archivo requerido, listar todos los archivos de un tipo por ejemplo MSWord, reconocer ejecutables camuflados, organizacion de archivos... etc. Estaré actualizando el codigo recurrentemente por lo que se aceptan sugerencias y mejoras, claro pueden ir diciendome sus propios magics para añadirlos a la lista o hacer peticiones sobre archivos.
|
|
« Última modificación: 31 Agosto 2012, 11:49 am por AbrahamAraon »
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
osea que yo le largo adentro un archivo sin extensión y me dice de que tipo es? Si no no entendi :S PD: habia leido en la esc, que todos los archivos en los primeros 3 caracteres decian que tipo de archivo eran o algo asi
|
|
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
osea que yo le largo adentro un archivo sin extensión y me dice de que tipo es? Si no no entendi :S
Exactamente, y si renombras un archivo mp3 a JPG, que te detecte que es un MP3
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Up por modificación
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!!
En su momento no quise comentar este tema por que es viejo pero ya que lo bumpearon...
Tiene estos detalles: Reconoce a los docx xlsx y demas formatos nuevos de office como un zip (realmente lo son) pero son documentos de office mas que un comprimido. No reconoce .txt o .text.
Pero tengo que reconocer que es util.
P.D: Estaria bueno que detecte si el archivo fue "unido" a otro usando algo similar a copy /b por ejemplo cuando pones un jpg y un rar en el mismo archivo y le cambias la extension y funcionan ambos.
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
Yoghurt
Desconectado
Mensajes: 122
Si alguien se molesto en escribir, justo es leer.
|
Actualizado MIME version 1.1, julio 18, 2012
* Añadida la propiedad 'ext' en la declaracion de TYPE_MIME la cual contendra informacion sobre la extension del archivo en cuestion. * Adicion de informacion sobre extension. * Añadido el reconocimiento de archivos de texto plano entre otros. * Añadida la opcion de buffer para no tener que leer el archivo cada vez. * Modificacion para interpretar numeros negativos en 'offset_start' y 'offset_end' interpretandose desde el final del archivo hacia el principio. * Añadida la funcion findMime que busca el Magic directamente desde un string. * Modificaciones y optimizaciones al codigo en general. * Eliminados los tipos de pattern ahora se usa uno solo (escaped strings)
He modificado el codigo de forma que sea más eficiente. Ademas he añadido el reconocimiento para los nuevos formatos de la suite de office (testeado con OpenOffice.org), los archivos de texto "plano" (.txt) tambien serán reconocidos. Por otra parte los archivos unidos mediante "copy /b file1.jpg + file2.rar" no seran reconocidos porque el file2.rar esta dentro del file1.jpg justamente desde donde el file1.jpg termina, por lo que el "magic" no cambia. Ahora, podria hacer un "parche" como lo hice para los ".txt" textos planos aunque no se si ayudaria el reconocer ese tipo de archivos...ademas de la insertidumbre de ponerle un nombre "mime" y una "extension".
El link de descarga será el mismo.
|
|
|
En línea
|
|
|
|
|
karmany
|
Buena aportación. Dos cosas: - Sería interesante que añadieras el compilado o un demo para que podamos ser beta-testers
- No sé si la tienes implementada, o tal vez lleve demasiado tiempo hacerlo, pero una buena opción podría ser la extracción de tipos de archivo. Muchos ficheros contienen otros embebidos.
Gracias por compartir.
|
|
|
En línea
|
|
|
|
Yoghurt
Desconectado
Mensajes: 122
Si alguien se molesto en escribir, justo es leer.
|
- Sería interesante que añadieras el compilado o un demo para que podamos ser beta-testers
Este codigo es para ser integrado en Visual Basic aunq podria hacer una beta para que sea probado, asi no tendríamos que desconfiar y servira para encontar errores pues no puedo probarlo con tantos archivos, asi que lo haré - No sé si la tienes implementada, o tal vez lleve demasiado tiempo hacerlo, pero una buena opción podría ser la extracción de tipos de archivo. Muchos ficheros contienen otros embebidos.
Mmm... Si, me he encontrado con estos casos como los archivos de recursos de algun juego (o el .rar dentro de un .jpg). Tengo una "utilidad" para extraer de forma "rustica" por decirlo asi archivos que estan incrustados dentro de otro archivo con ayuda de este metodo. Lo hice para detectar y extraer PNG, GIF, JPG, BMP, AVI, WAV, MIDI, SWF, OGG, AU y MP3 con tag ID3. Le he puesto xtract y lo encuentras en: http://sdrv.ms/LG1BWQ
|
|
|
En línea
|
|
|
|
Yoghurt
Desconectado
Mensajes: 122
Si alguien se molesto en escribir, justo es leer.
|
Y listo... He subido un compilado sencillo para testear los archivos, he puesto 3 botones los cuales ayudarán a recolectar información valiosa sobre errores de acuerdo a si:
* No ha reconocido un archivo que es conocido por el programa o por la persona. * Ha dado mala informacion sobre el tipo de archivo. * Y si decean que se reconozca o incluya en el codigo algun archivo que deceen. La información recopilada consta de los primeros 64 bits del archivo en cuestion (escrita en texto hexadecimal) para una revision acerca del problema/detalle o examen para detectar el archivo. La información no es enviada automaticamente solo es escrita en el archivo "info_plase_send_mail.info" junto a la aplicacion por lo que deberá adjuntar el archivo via e-mail. Para quienes decean contribuir favor de usar estos emails, dreaderfunkonak@gmail.com / abrahamaraon@hotmail.com de antemano gracias.
>> El enlaze de descarga es el mismo.
|
|
« Última modificación: 31 Agosto 2012, 12:29 pm por AbrahamAraon »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Análisis archivos Extensiones cambiadas - Archivos camuflados - Contenido real
« 1 2 »
Software
|
Esgrimidor
|
11
|
9,732
|
24 Septiembre 2011, 01:53 am
por Esgrimidor
|
|
|
[Aporte] Archivos Binarios en C
Programación C/C++
|
nicolasblues86
|
0
|
3,074
|
19 Mayo 2010, 23:38 pm
por nicolasblues86
|
|
|
[Aporte] Consumir contenido web en aplicaciones .net (C#,VB .net,Asp .net)
« 1 2 ... 5 6 »
.NET (C#, VB.NET, ASP)
|
.::IT::.
|
57
|
54,810
|
25 Mayo 2015, 19:10 pm
por luiscalderon1202
|
|
|
[Aporte] Treesaver: Presentacion de Contenido HTML con Estilo de Revista
Desarrollo Web
|
AFelipeTrujillo
|
0
|
2,038
|
10 Febrero 2011, 20:28 pm
por AFelipeTrujillo
|
|
|
[Aporte]jShowOff: Un Plugin para jQuery para Rotar Contenido
Desarrollo Web
|
AFelipeTrujillo
|
0
|
3,597
|
16 Febrero 2011, 18:54 pm
por AFelipeTrujillo
|
|