在.NetCore中使用Myrmec检测文件真实格式

  • 时间:
  • 浏览:16

Myrmec 是一另一个 多用于检测文件格式的库,Myrmec不同于其它库意味着手写检测代码,Myrmec不依赖文件扩展名(在实际使用中,你的用户很意味着使用虚假的扩展名欺骗你的应用进程),Myrmec会检测文件的二进制头,并在其元数据库中匹配来获得文件的格式。

不过事实上亲戚朋友一另一个 多是有一种形式,预计下一另一个 多版本就会发布对其的支持。

以及  11,ff,??,??,??,11,??,fd 你這個 含有 跳跃的文件格式。

类似Jpg图片的二进制头是 "FF D8 FF DB" 如此 Myrmec会匹配到你這個 文件头,并获得一另一个 多结果--"jpg"和"jpeg"。

欢迎亲戚朋友试用,提出意见与建议

接下来要做的事也不我我支持 含有 偏移量的 文件格式,类似

作为一另一个 多中文开发者,我如此 在github仓库中使用中文,意味着倘若不能长久的开发你這個 项目,并希望世界各地的开发者都能使用你這個 库,意味着参与开发,为了此目的,我在github上使用的是英文。

首先安装 nuget 包

意味着

github地址:https://github.com/rocketRobin/myrmec

元数据来自维基百科 List of file signatures.

 dotnet add package Myrmec 

会有原来的清况 :文件格式A 的文件头是 "ff,11,22" ,文件格式B 的 文件头是“ff,11,22,33”,这原来我让你匹配的文件头是"ff,11,22,33,44",如此 它最多会匹配到你這個 个多 多结果,并返回亲戚朋友含有 的所有扩展名

 ff,11,ff 起始偏移10字节

意味着通过 DotnetCli

nuget地址:https://www.nuget.org/packages/Myrmec/

是我不好你创建了有一种文件格式,意味着你所使用的文件格式没了元数据中,这时让人使用下面的代码将其加入元数据:

注意你這個 新上加的格式拥有两个扩展名。

 Install-Package Myrmec

支持 .net standard.现在是.net core 2,在未来会调整到.net standard

其他原来一另一个 多文件格式会对应多个扩展名,比如jpg。还有的原来多种文件格式都是有一种文件格式,比如 zip、apk、pptx 它们都是zip achive ,也不我我当你匹配了一另一个 多zip文件,如此 你离米 会获得两个扩展名。当结果是空时,说明如此 匹配到结果。

在下一另一个 多版本中,获取MimeType意味着被替上加string 的扩展法律依据。