Skip to main content

A python module and command to try really hard to get a mime-type for a file

Project description

About

magic-identify implements a wrapper around both the python-magic module and the identify module to try and always return results, even if one fails. Finally, failing that it will try to guess some minimal shell script environments too (specifically looking at common keywords in malware droppers/downloaders that do not always have leading identification lines).

It returns two strings, one which may be a higher level text description and a second which should always be a mime-type identifier.

Example module use:

import magicidentify
c = magicidentify.MagicIdentify()
print(c.identify("/bin/ls"))
# ('application/x-pie-executable', 'application/x-pie-executable')

Example CLI use:

# magic-identify /bin/ls /sbin/ifup
/bin/ls: application/x-pie-executable, application/x-pie-executable
  using magic:    application/x-pie-executable, application/x-pie-executable
  using identify: unknown, unknown
  using hack:     unknown, unknown
/sbin/ifup: inode/symlink, inode/symlink
  using magic:    inode/symlink, inode/symlink
  using identify: bash/shell, text/x-bash
  using hack:     unknown, unknown

# magic-identify -q /bin/ls /sbin/ifup
application/x-pie-executable
inode/symlink

Todo

  • Handle more boring cases from some outputs (text/inode)

Acknowledgements

The following wonderful github accounts have contributed to the code base:

  • @JakeRoggenbuck

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magic-identify-0.2.2.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

magic_identify-0.2.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file magic-identify-0.2.2.tar.gz.

File metadata

  • Download URL: magic-identify-0.2.2.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 CPython/3.10.7

File hashes

Hashes for magic-identify-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4b44bd62b06168fcb6f066ae32bdce81d0be29f726a54a076043f19911e84744
MD5 1fe756efafe96ef1ed9e2a79a0eed2c8
BLAKE2b-256 0050fa44396a286e2c8fbe9adb118993cc6a3b0d0c700925942e4e0544495d19

See more details on using hashes here.

File details

Details for the file magic_identify-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for magic_identify-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 638bb77086b9e976c6fecf38f6fe937c587e91b5c0d1f6a0b2dfa0b81b739c7c
MD5 223604245589a9f2b1deb0573f116d2b
BLAKE2b-256 f48e0ed4ed3a90e466bef6b5f1e6f5157c94dff97d924833bdb360c2efbbed47

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page