inRar.py buscador de archivos rar en imágenes

  • 1 Respuestas
  • 2234 Vistas

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

Desconectado Once

  • *
  • Ex-Staff
  • *****
  • Mensajes: 391
  • Actividad:
    0%
  • Reputación 0
  • Twitter: @don_once
    • Ver Perfil
    • El blog de Once

inRar.py buscador de archivos rar en imágenes

  • en: Noviembre 30, 2013, 10:43:27 pm

(You are not allowed to view links. Register or Login)

Hola, creo que todos conocemos el método esteganográfico EOF que consiste básicamente en agregar un archivo al final de otro; como por ejemplo incrustar un comprimido .rar dentro de una imagen sin corromper ésta. (En GNU/Linux es tan simple como un cat archivo1 archivo2 > archivo_final)

Hace un tiempo hice uso de este método y ahora me doy cuenta que tengo más de 700 imágenes y sería algo aburrido buscar la información a mano así que codee este pequeño script. Espero a alguien le sea de ayuda.

Su funcionamiento es simple, se abre el archivo en forma de lectura binaria, se convierten estos datos a hexadecimal y con una expresión regular busca las cabeceras del Rar. si las encuentra, copia esa información y la guarda en un archivo independiente.

Código: Python
  1. #!/usr/bin/python2
  2. # -*- coding: utf-8 -*-
  3. # 11Sep para underc0de.org
  4.  
  5.  
  6. import os
  7. import re
  8. import sys
  9. import urllib
  10.  
  11. rar_ = re.compile(".*?(52617221.*C43D7B00400700).*?", re.DOTALL | re.IGNORECASE)
  12.  
  13. def abrir_archivo(ruta):
  14.     print "Comprobando archivo:", ruta
  15.     if ruta.lower().endswith(".rar"):
  16.         return
  17.     with open(ruta, "rb") as archivo:
  18.         data = archivo.read()
  19.         data  = data.encode("hex")
  20.     comprobar_rar(data, ruta)
  21.  
  22. def abrir_url(url):
  23.     print "Abriendo url"
  24.     data = urllib.urlopen(url).read()
  25.     data = data.encode("hex")
  26.     archivo = os.path.basename(url)
  27.     comprobar_rar(data, archivo)
  28.  
  29. def comprobar_rar(data, nombre):        
  30.     nombre += ".rar"
  31.     if rar_.match(data):
  32.         print "\t<ul class="bbc_list"><li type="square"> Hay un rar dentro"[/li][/list]
  33.         print "\t</li><li type="square"> Guardando en:", nombre[/li][/list]
  34.         with open(nombre, "wb") as archivo:
  35.             archivo.write(rar_.findall(data)[0].decode("hex"))    
  36.  
  37. def comprobar_ruta(ruta):
  38.     if os.path.isfile(ruta):
  39.         abrir_archivo(ruta)
  40.     elif os.path.isdir(ruta):
  41.         for archivo in os.listdir(ruta):
  42.             nuevo = os.path.join(ruta, archivo)
  43.             if os.path.isfile(nuevo):
  44.                 abrir_archivo(nuevo)
  45.     elif ruta.startswith("http://"):
  46.         abrir_url(ruta)
  47.  
  48. if len(sys.argv) > 1:
  49.     comprobar_ruta(sys.argv[1])
  50. else:
  51.     print "Uso: inRar.py <archivo | carpeta | url>"
  52.  

Su uso es simple, se le puede pasar como parametro una url, un archivo o un directorio, la aplicación, dependiendo del parametro ejecuta la función adecuada.
Por ejemplo, podemos revisar la url de la imagen del comienzo del post

Saludos!






You are not allowed to view links. Register or Login

Desconectado WhiZ

  • *
  • Ex-Staff
  • *****
  • Mensajes: 395
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:inRar.py buscador de archivos rar en imágenes

  • en: Noviembre 30, 2013, 11:06:26 pm
Muy buen code bro! Jaja ya se cuando y donde lo usaste!! ;)

Gracias por el triunfo :P

Saludos!
WhiZ


 

combo: Una simple herramienta para cifrar/descifrar tus archivos con Shalom

Iniciado por DtxdF

Respuestas: 0
Vistas: 917
Último mensaje Diciembre 03, 2019, 01:01:27 am
por DtxdF
[Codigo + Introduccion] Manejo de archivos csv en python

Iniciado por blozzter

Respuestas: 2
Vistas: 10052
Último mensaje Abril 01, 2012, 05:43:38 pm
por pab mac
Tutorial envio de archivos usando sockets

Iniciado por Once

Respuestas: 10
Vistas: 14640
Último mensaje Julio 27, 2018, 07:53:10 pm
por Once
Moviendonos entre archivos con python

Iniciado por Once

Respuestas: 6
Vistas: 5808
Último mensaje Enero 23, 2015, 12:30:11 am
por Azav
[Python] Descargar Archivos - by NiKo

Iniciado por ProcessKill

Respuestas: 3
Vistas: 4744
Último mensaje Noviembre 03, 2012, 11:50:45 am
por BigBear