我將各種PE放到一個十六進制編輯器中,並搜索字符串(主要是Windows函數),這些字符串可用於理解PE執行的操作以及有關它的任何其他細節,而不執行它。爲什麼便攜式可執行文件的hexdump的大部分在轉換爲文本時通常無法讀取,並且爲什麼一些文本可讀?
的DOS存根後,大部分的時間,都與真正的和惡意的可執行文件,該hexdump都(轉換爲文本),更大的一部分是不可讀的,例如:
L.µ¸°5Sÿ|.iÞôS..\C>Ó\—©>Ó.Òg.¼·+ß»–å~.2W·ÿ¸¨x:_/..²Üo(è.XX<.¯」ˆNYîk•…ùJ¹¬£oXR¾ëè.,X°`Á‚...,X(O.㣿¨P.ñ~p{澯ª°y」…Š}6…쥒{jæiö³ëêÃaûþ*ýþž.š¼AÇG(’ÅNÔ™¾=...øí>üÒGÂ.sŽÃyÈ9.ï×Ç.QgÄ™€·Sâð.Þ¾…=}.¾TQO:à}úÂ.L7.˜Sp>.(.Ó.d¥ñ—ñyøÜ¡;í¦ðìÐ9Dç.:‡é.¡s%.«è</Åï.O¯H.ÀÛìç ´$」yÊ©ƒ9§QøCü.<I8.N.ð².¨8.\$àù8ü!æ°³Îy.(J8õtÞ.ï§Æ‰÷!.£ÛPN7ð󸱜z86á.²p¬‡4k!Õ&J±.RD!M.èMЬÝzâ.ÓÄ)M.§Âo.$ –.¸:㣤.î%[email protected]ï8]#5qM-ÅȤ™Ï‚—b¤...¿5.…._ÁÂùŠ»xßçvÚá™-—æ.ŠM<gS.ã.íGZÏ.:WÓ¹†Î.鼈Î7Ñy1.—Ðùf¾Æœ
然後某處很多之間像這樣的的Windows函數塊線可以看出:
ime...SearchPathW.a.GetShortPathNameW.û.GetFullPathNameW..c.MoveFileW.M.SetCurrentDirectoryW..ê.GetFileAttributesW....GetLastError....CreateDirectoryW..a.SetFileAttributesW..².Sleep.「.GetTickCount..ð.GetFileSize...GetModuleFileNameW..À.GetCurrentProcess.u.
而這個XML部分:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="Nullsoft.NSIS.exehead" type="win32"/><description>Nullsoft Install System v2.46.5-Unicode</description><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges></security></trustInfo><compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"><application><supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/><supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/></application></compatibility></assembly>
什麼決定哪些部件可讀,哪些不可讀?我假設可以提取windows函數,因爲它是與OS交互的東西,而不是由開發人員在本地使用的東西。
爲什麼不可讀部分不可讀?當我首先看到它時,我認爲它是加密/打包/混淆的。現在我在想,這是開發者故意不做的事情嗎?如前所述,我在惡意和真實的PE中看到了相同的模式。
二進制圖像中的任何內容都是不可讀的。你只是對它進行解釋,這是沒有意義的。 – IInspectable