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