Перейти к содержимому


rek
Фотография

Вытягиваем Metadata из картинок с помощью Python

метаданные взлом хакеры софт питон хакерский софт картинки данные информация

В этой теме нет ответов

#1 roguevad

roguevad
  • Эксперт.
  • Пользователи
  • PipPipPipPipPip
  • 298 сообщений

Отправлено 06 Март 2019 - 02:58

Всем привет, недавно я подглядел некоторую интересную информацию и хочу поделиться ею с вами. Из названия вы уже догадались о чем пойдет речь, а именно о скрипте, который позволит нам вытягивать метаданных из картинок. Для тех кто не знал, метаданные – это данные о самих данных. Сейчас я вам покажу, какой существует скрипт для вытягивания метаданных.

Для скрипта будет необходима библиотека Pillow и argparse

#!/usr/bin/python3.6 #здесь вы должны указать путь к питону

# -*- coding: utf-8 -*- #выбор кодировки

#импорт нужных модулей

import argparse

from PIL import Image

from PIL.ExifTags import TAGS

#Нижняя функция получает на вход имя файла(картинки) и имя файла(для вывода информации)

def getMetaData(imgname, out):   

#получаем словарь из метаданных картинки и выводим его в терминал, #если не указано имя файла для вывода информации.

try:

       metaData = {}

       imgFile = Image.open(imgname)

       print("Getting meta data...")

       info = imgFile._getexif()

       if info:

           print("Found meta data!")

#перебор данных в словаре с метаданными

           for (tag, value) in info.items():

               tagname = TAGS.get(tag, tag)

               metaData[tagname] = value

               if not out:

                   print(tagname, value)

#если имя файла указанно то файл выводим

      if out:

               print("Outputting to file...")

               with open(out, 'w') as f:

                   for (tagname, value) in metaData.items():

                       f.write(str(tagname)+"\t"+str(value)+"\n")

   #выводим сообщение в случае возникновении ошибки

except:

       print("Failed")

#функция main(). Парсим в ней аргументы командной строки.

def main():

   parser = argparse.ArgumentParser()

   parser.add_argument("img", help="name of img file.")

   parser.add_argument("-o", "--output", help="dump data out to file")

   args = parser.parse_args()

   if args.img:

       getMetaData(args.img, args.output)

   else:

       print(parser.usage)

#точка входа

if __name__ == '__main__':

   main()

 

Вот таким образом выглядит наш скрипт:

a3d04f5e19c1362162559.png

 

 



rek




Темы с аналогичным тегами метаданные, взлом, хакеры, софт, питон, хакерский софт, картинки, данные, информация


reklama reklama

Рейтинг@Mail.ru Analysis informer pr cy
Рейтинг@Mail.ru
Добавить Vkontakte Добавить в Facebook Добавить в Twitter Добавить в LiveJournal