提問者:APT_華生 2021-4-1
bea4098173cac5d2f55b9338b1ef2cd0 是怎么判斷是DLL文件的呢,前面地址不是400000嗎,不應該是exe程序嗎,我看了其他DLL文件的文件頭中的Characteristics屬性值發(fā)現(xiàn)是0x2102,而這里的屬性是010F,對比exe的發(fā)現(xiàn)exe的是0102
這里主要以是否包含有導出函數(shù),以及導出函數(shù)是否有不尋常的地方作為判定依據(jù)。可能有些奇怪的樣本兼具exe和dll的特征,比如一般來說exe文件就不該有導出函數(shù)。我在這里介紹的是一種快速判定的方法,不是從根源上去教給大家如何對PE文件進行分類。
4000000一般是基址 但是動態(tài)基址并不能判斷是否exe或DLL 或資源文件 一般可執(zhí)行文件 快速識別方法 直接拖入調(diào)試工具 例如OD X64程序則拖入dbg 能起到 那么就是可執(zhí)行文件 EXE/DLL
hello,你發(fā)的提問中提到的bea4098173cac5d2f55b9338b1ef2cd0似乎是一個十六進制表示的文件哈希值,而不是直接與文件格式相關的標識。為了確定一個文件是DLL還是EXE,我們通常需要查看文件的二進制頭部信息。
關于您提到的“地址不是400000”和“Characteristics屬性值”,這些都是PE文件格式的一部分。PE(Portable Executable)格式是Windows操作系統(tǒng)用于可執(zhí)行文件、靜態(tài)庫、DLL以及內(nèi)核模式的驅(qū)動的格式。
在PE格式中,有一些關鍵的字段,其中之一就是“Characteristics”字段,它是一個用于描述文件特性的字節(jié)。這個字段的值可以告訴我們很多關于文件的信息。
如果Characteristics的值是
0x2102
,那么這確實是一個DLL文件。
0x0102
,那么這通常是一個EXE文件。
但是,請注意,十六進制010F并不是標準的PE Characteristics值。我猜測可能有一些額外的屬性或者標識被添加到了這個字段中。
為了準確判斷一個文件的類型,您可以使用工具如dumpbin(這是Visual Studio的一個實用工具)來查看文件的詳細信息。例如:
bashdumpbin /headers your_file_path.exe > output.txt
這將提供一個詳細的頭部信息,其中也包括Characteristics的值。這樣您就可以準確地判斷該文件是DLL還是EXE。
mark