【发布时间】:2011-09-12 15:27:01
【问题描述】:
如果你把文件扩展名弄乱了,你怎么能把可执行文件和 DLL 区分开来?
他们似乎都有切入点和一切......
【问题讨论】:
-
@OmerPT, @CharlesB:我的意思更像是通过它们的功能(例如它们的 PE 标头、它们的反汇编等)
-
用扩展名
exe重命名它并尝试在Windows环境中执行它。如果它做某事,它就是一个exe。 :P 其实我也很好奇... -
您可以检查 PE 标头。在此处查看 kichik 的答案:stackoverflow.com/questions/1210873/…
-
@anirudh4444:如果您正在查看资源/版本信息,是的——这是作弊,它并不总是有效。 :P
-
@Mehrdad 接受的答案并没有说太多,但 kichik 的答案是正确的:“可以在 IMAGE_NT_HEADERS 中查看 IMAGE_FILE_HEADER 的特性成员。对于 DLL,它具有 IMAGE_FILE_DLL ( 0x2000) 标志打开。对于 EXE,它是 IMAGE_FILE_EXECUTABLE_IMAGE (0x2) 标志“-我将把一些代码放在一起。
标签: dll executable file-extension portable-executable