文章目录
- 前言
- 过程
- dll/exe
- sys
- 代码判断
- 总结
前言
过程
dll/exe
参考MSDN IMAGE_FILE_HEADER
sys
参考MSDN optional_header
![在这里插入图片描述 [笔记]Windows判断文件是可执行文件exe/dll文件/驱动文件sys_文件类型](https://file.cfanz.cn/uploads/png/2022/10/14/17/RF7eb2N895.png)
![在这里插入图片描述 [笔记]Windows判断文件是可执行文件exe/dll文件/驱动文件sys_windows_02](https://file.cfanz.cn/uploads/png/2022/10/14/17/WA90b10186.png)
![在这里插入图片描述 [笔记]Windows判断文件是可执行文件exe/dll文件/驱动文件sys_windows_03](https://file.cfanz.cn/uploads/png/2022/10/14/17/fJ8X7VRZ0c.png)
代码判断
# 获得pe文件类型 dll/exe/sys等
def get_file_type(binary) :
file_type = -1
if binary.header.has_characteristic(lief.PE.HEADER_CHARACTERISTICS.DLL) == True:
# dll
print("dll")
else:
# sys
if binary.get_import("ntoskrnl.exe") \
and binary.optional_header.subsystem == lief.PE.SUBSYSTEM.NATIVE:
print("sys")
# exe
else:
print("exe")
总结










