我们知道如果我们创建一个简单的记事本文件并将扩展名更改为jpeg 它会将文本文件转换为jpeg文件。某些恶意程序可能会有机会 写在记事本文件中。 我想检查这种类型的图像文件我将如何做。 2.有任何技巧,以便我可以找到这种类型的转换文件
使用.net c#,asp.net,vb.net
答案 0 :(得分:3)
文件扩展名与其内容无关,只需预先处理文件的前几位即可查看它是什么。 (然后,如果您可以从中确定类型,则可以继续使用该文件的解析代理)。
例如:
ÿØÿà[NUL][DLE]JFIF
作为起始位。%PDF-
PK
,Rar!
或其他变体开头,具体取决于压缩算法。我能说的最好的办法是尝试通过System.Drawing.Image
运行该文件。如果它实际上是一个图像,解析器不会扼杀它。如果不是,你会得到某种例外,你知道它不是一个图像,或者是不正确的(有害的)。
顺便说一句(因为它有点烦我)说“我们知道如果我们创建一个简单的记事本文件并将扩展名更改为jpeg它会将文本文件转换为jpeg文件”并非完全正确。您所做的只是指定默认应用程序来打开文件。名为.jpg
,.png
甚至.xyz
的文本文件仍然是文本文件,它不再使用记事本(或任何默认设置)来打开它。