为python添加magic进行文件类型识别
2015-12-25 10:41
585 查看
最近想看看cuckoo里的文件识别功能是怎样实现的,翻了cuckoo源码,发现其对文件格式的判断代码如下:
其中用到了libmagic库里的magic,libmagic是一个根据文件头识别文件类型的开发库,python可以利用该库很方便地实现对文件格式的判断。记录一下安装过程。安装环境:winxp + python 2.7
安装magic 模块:
1、安装pycparser-2.14 链接: https://pypi.python.org/pypi/pycparser
2、安装VCForPython,链接: http://aka.ms/vcpython27 3、安装cffi模块,链接: https://pypi.python.org/pypi/cffi/#downloads
4、安装libmagic 链接: https://pypi.python.org/pypi/python-libmagic
5、安装file,安装之后向环境变量path添加: ..\GnuWin32\bin
6、安装magic模块 链接: https://github.com/ahupp/python-magic
测试 import magic成功即可
More details see https://github.com/ahupp/python-magic
利用卡巴斯基的扫描结果对样本进行分类整理(包含文件类型识别)的程序见:https://github.com/Viwilla/ClassifySamples
def _get_filetype(self, data): """Gets filetype, uses libmagic if available. @param data: data to be analyzed. @return: file type or None. """ if not HAVE_MAGIC: return None try: ms = magic.open(magic.MAGIC_NONE) ms.load() file_type = ms.buffer(data) except: try: file_type = magic.from_buffer(data) except Exception: return None finally: try: ms.close() except: pass return file_type
其中用到了libmagic库里的magic,libmagic是一个根据文件头识别文件类型的开发库,python可以利用该库很方便地实现对文件格式的判断。记录一下安装过程。安装环境:winxp + python 2.7
安装magic 模块:
1、安装pycparser-2.14 链接: https://pypi.python.org/pypi/pycparser
2、安装VCForPython,链接: http://aka.ms/vcpython27 3、安装cffi模块,链接: https://pypi.python.org/pypi/cffi/#downloads
4、安装libmagic 链接: https://pypi.python.org/pypi/python-libmagic
5、安装file,安装之后向环境变量path添加: ..\GnuWin32\bin
6、安装magic模块 链接: https://github.com/ahupp/python-magic
测试 import magic成功即可
More details see https://github.com/ahupp/python-magic
利用卡巴斯基的扫描结果对样本进行分类整理(包含文件类型识别)的程序见:https://github.com/Viwilla/ClassifySamples
相关文章推荐
- [转载]Python兵器谱
- python代码优化---就喜欢细节
- 排序算法—希尔排序算法分析与实现(Python)
- numpy转换
- Python教程
- 17个新手常见Python运行时错误
- Python异常
- Python标准库——走马观花
- Python补充06 Python之道
- Python补充05 字符串格式化 (%操作符)
- Python定时执行之Timer
- Python基础(1)
- 大数据分析与机器学习领域Python兵器谱
- Python学习之IDE(Eric4)------windows下搭建Python开发环境[python2.7+pyqt4(PyQt-Py2.7-x32-gpl-4.9.6-1)+Eric4(eric
- 从底层理解Python的执行
- Python学习笔记(3)——Django开发Web系统
- Python学习笔记(2)
- 转载:关于Java、Python、Go编程思想的不同
- MAC安装Python开发环境
- 我的Python学习历程