天天看點

[筆記]Windows判斷檔案是可執行檔案exe/dll檔案/驅動檔案sys

文章目錄

  • ​​前言​​
  • ​​過程​​
  • ​​dll/exe​​
  • ​​sys​​
  • ​​代碼判斷​​
  • ​​總結​​

前言

過程

dll/exe

​​參考MSDN IMAGE_FILE_HEADER​​

sys

​​參考MSDN optional_header​​

[筆記]Windows判斷檔案是可執行檔案exe/dll檔案/驅動檔案sys

代碼判斷

# 獲得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")      

總結

繼續閱讀