问题标签 [libmagic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - linux中的“file”命令在不同机器上的输出不同
我在运行相同操作系统和相同文件的两台相同机器上运行“文件”命令,但在一台机器上它将文件类型识别为“rtf”,而在另一台机器上识别为“数据”。谁能帮我弄清楚为什么会发生这种情况?
ruby-on-rails - 如何在 Heroku 上安装 libmagic?
我有一个使用 的 rails 4 应用程序,ruby-filemagic
因此filemagic
需要在系统上安装。
我已经尝试通过模仿这个问题的解决方案在 Heroku 上安装它,但它就是行不通。我尝试了多种方法,但我认为最有希望的方法是通过apt-get
(修改后的)apt-get、config和ruby buildpacks 的组合进行安装。在配置中,我使用BUNDLE_BUILD__RUBY-FILEMAGIC: --with-magic-dir=/app/.apt/usr/ --with-magic-include=/app/.apt/usr/include --with-magic-lib=/app/.apt/usr/lib
最终,我仍然得到这个:
libmagic
确实安装到了这个目录中。它的内容与deb
包裹的内容相当,尽管它看起来确实很轻。
c++ - 在抛出 'std::logic_error' 的实例后调用终止
我正在使用 C++ 来检索有关文件的信息的程序。其中,我想找出给定文件的 MIME 类型。
为此,我使用 libmagic 如下:
尝试在运行 Debian Jessie 的计算机上使用gcc 4.9.2
and glibc 2.19
,它工作得很好。
gcc 5.1.0
但是,在另一台带有and的 arch linux 计算机上glibc 2.21
,我在运行时有以下内容:
gdb
给我额外的信息:
所以我不太确定我是否可以解决我的问题,或者是否有可能来自 glibc 或 libmagic 的错误?
python - python-magic WindowsError: [错误 193] %1 不是有效的 Win32 应用程序
嗨,我正在尝试在 Windows 8 上使用 python-magic,但是当我尝试使用命令导入时,import magic
它给了我这个错误WindowsError: [Error 193] %1 is not a valid Win32 application
我已经尝试了 64 位和 32 位版本的 Python 2.7.10,但我总是得到这个错误。
谢谢
c++ - GCC 4.8 在与 libmagic 链接时失败
在将我的代码与 libmagic 链接时,我正在努力解决这个问题:
但是,仅当 gcc 版本 > 4.4 时才会出现此问题。要编译,我使用以下命令:
可以在此处找到使用 libmagic 的示例代码。我已经检查过,这个问题也出现了。显然 libmagic 和 libmagic-dev 安装在我的系统上(Ubuntu 14.04)。
有没有办法处理这个问题,而不是降级 gcc 版本?
c - 文件签名用 C
我正在一个项目中处理图像,我需要检查图像的内容,以确保格式有效(例如:png、jpg 等)。所以,我知道我可以使用幻数或文件签名。我曾尝试使用 libmagic-dev,但没有用(我有 Mac)。我尝试使用源代码(我在项目中创建了一个库和引用),但也没有用。我想在 C 中做到这一点。有人可以说我有办法得到这个吗?
错误:
file - 使用其他语言的magic.mgc
我目前正在研究一个涉及读取file
's 魔术文件(没有绑定)的项目。我想知道如何magic.mgc
用另一种语言(如 Go)直接从编译的二进制文件中读取文件测试,因为我不确定它的内容应该如何解释。
c - libmagic中的内存泄漏?
尝试一些 libmagic 的测试代码:
代码几乎是从这里撕下来的:
http://vivitemage.co.uk/blog/?p=105
代码运行正常,但valgrind --leak-check=full ./libmagic /path/to/some/image/file
报告了使用库中的 memleak:
magic_close()
除了总结之外,我还需要其他东西吗,还是图书馆有一些弱点?
magic.h 说MAGIC_VERSION 524,我使用的是gcc 5.4.0
windows - 运行 32 位 Python 2.7 构建的 64 位 Windows 10 的 python-magic 安装挑战
尽管遵循了该模块的自述文件,但我继续收到“找不到魔法文件”。自述文件和“依赖项”部分说:
在 Windows 上,从 File for Windows 项目提供的 Binaries and Dependencies zip 文件将 magic1.dll、regex2.dll 和 zlib1.dll 复制到您的 PATH 中。您需要从 [binary-zip]\share\misc 中复制文件魔法,并将其位置传递给 Magic(magic_file=...) 如果您使用的是 64 位版本的 python,则需要 64 -bit libmagic 二进制文件,可在此处找到:https ://github.com/pidydx/libmagicwin64 (注意:未经测试)。
以下说明会有所帮助:
1) 提供的Files for Windows链接有一个指向“file-5.03-bin.zip”的链接(标记为“Binaries”)、一个指向“file-5.03-dep.zip”的链接(标记为“Dependencies”)和一个链接在“file-4.26-dep.zip”的右下角,它也被标记为“依赖文件”。我假设最后一个是一个错误,它应该指向 5.03-dep,而不是另一个需要的第二个依赖文件。正确的?
2) 似乎有 32 位版本和64 位版本的依赖文件。我不知道在 64 位 Windows 上使用哪个版本,但在 32 位 Python 上使用。上面的说明说的是 64 位 Python,但这说的是 64 位 Windows。 我应该安装哪个?
3)上面说将DLL放在PATH中;64 位指令说将它们放在 C:\Windows\System32 中。只要文件夹是PATH,这有关系吗?(其他人建议特别不将它们放在 \Windows\System32 帮助:Python-magic 安装错误 - ImportError: failed to find libmagic)。
4)以上表明,除了 3 个 DLL 之外,二进制文件和依赖项中唯一需要的其他文件是文件magic
. 所以我也不需要文件magic.mgc
,它也在二进制 zip\share\misc 中?我也不需要这两个 ZIP 中的任何其他文件,比如文件file
?
5) 上述建议magic
从二进制 ZIP 中获取文件并将其路径放在一行代码中:Magic(magic_file=...)
. 我认为这实际上是magic.Magic(magic_file='C:\path\goes\here\magic')
并且我认为这可以在文件系统中的任何位置进行。
6)..我再次假设我指向的是文件magic
而不是文件magic.mgc
。
这些假设是否正确?
python - 如何判断 cdfv2 文件是否使用 python 加密?
我有一个已被 Zed! 加密的文件。这是由
作为“应用程序/CDFV2 加密”
但是,当使用 python 和模块 filemagic 时:
完全相同的文件被标识为:“application/cdfv2”
他们都使用 libmagic,所以我确信在这两种情况下我都会得到相同的类型。但是,据此;文件命令搜索
CDF 文件中名为“EncryptedPackage”的用户流
这显然给出了后缀“-encrypted”。
现在我的问题:
- 如何定义“用户流”?
- 我可以通过检查 python 中的二进制文件来执行检查吗?
- 是否有任何其他 python 模块可以提供有关文件是否加密的信息?
我正在使用 filemagic 1.6 和 libmagic 5.22