是否可以從PE文件中刪除DOS存根和DOS頭?從PE文件中刪除DOS存根
11
A
回答
4
沒有簡單的方法可以在不破壞文件格式的情況下將其刪除。
但是艾姆,發現this。
7
13
PE文件必須以IMAGE_DOS_HEADER開頭,後面跟着定義現代PE字段的IMAGE_NT_HEADERS結構。
的IMAGE_DOS_HEADER有兩個必填字段 - e_magic必須持有價值IMAGE_DOS_SIGNATURE(看起來像「MZ」在ASCII),並從文件開始到IMAGE_NT_HEADERS開始e_lfanew必須偏移。
除了這兩個字段,IMAGE_DOS_HEADER的其餘部分對於Windows過去的16位Windows是可選的,可以爲零,而DOS存根是可選的,可以省略。
最小的一致性PE文件以IMAGE_DOS_HEADER開頭,其中e_magic設置爲IMAGE_DOS_SIGNATURE,e_lfanew設置爲sizeof(IMAGE_DOS_HEADER),緊接着IMAGE_NT_HEADERS。
0
您不能將Dos標題的大小減小到「最小」。不幸的是,長度字段是IMAGE_DOS_HEADER中的最後一個字段。因此它有64字節的固定大小。
相關問題
- 1. PE文件中的跳轉存根
- 2. 從無根電話的內部存儲器中刪除文件
- 3. 如何從git中刪除文件根本不存在
- 4. 爲什麼PE文件中的MZ DOS標頭簽名0x54AD?
- 5. 從許多文件中刪除文件字符的DOS結束在Linux中
- 6. 使用DOS批處理文件從文件中刪除一些內容
- 7. git - 從存儲庫中刪除文件
- 8. git從存儲中刪除文件
- 9. 如何從存儲中刪除文件
- 10. 從存儲庫中刪除Thumbs.db文件
- 11. 從git緩存中刪除文件
- 12. 從存儲桶中刪除文件
- 13. DOS:刪除空格
- 14. Rails - 從根文件夾中刪除文件夾
- 15. 從可可mac的根文件夾中刪除文件osx
- 16. 如何從根文件夾中刪除文件夾
- 17. 從本地存儲庫中刪除「已刪除」文件
- 18. 從表中刪除,並刪除文件
- 19. 根據sql條件從表中刪除
- 20. 根據條件從DataTable中刪除行
- 21. 使用通配符卡在DOS中刪除文件夾
- 22. 刪除PE(便攜式可執行文件)Commad Line
- 23. 從PE文件中提取字符串
- 24. 從文件中刪除行
- 25. 從TortoiseHG中刪除文件
- 26. 從URL中刪除文件
- 27. 從Jlist中刪除文件
- 28. 從Request.Files中刪除文件
- 29. 從git中刪除文件
- 30. 從文件中刪除行
我可以打破文件格式,但我需要知道如何做到這一點,而不會破壞exe。 – user1232138 2012-03-11 13:41:31
如果你打破文件格式,那麼它不再是真正的PE文件。您可以提供自定義存根。 – 2012-03-11 15:11:18