提問(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