2012-03-11 16 views

उत्तर

4

फ़ाइल प्रारूप को तोड़ने के बिना इसे हटाने का कोई आसान तरीका नहीं है।

लेकिन ehm, this मिला।

+0

मैं फ़ाइल प्रारूप को तोड़ सकता हूं लेकिन मुझे यह जानने की जरूरत है कि exe को बाधित किए बिना इसे कैसे किया जाए। – user1232138

+1

यदि आप फ़ाइल प्रारूप को तोड़ते हैं, तो यह वास्तव में एक पीई फ़ाइल नहीं है। आप एक कस्टम स्टब प्रदान कर सकते हैं। –

7

डॉस स्टब को हटाने से डॉस हेडर के साथ कुछ लेना देना नहीं है। हां, डॉस स्टब को हटाना संभव है (क्योंकि अब इसका उपयोग नहीं किया जाता है)। आप डॉस हेडर के आकार को अपने न्यूनतम तक भी कम कर सकते हैं (एमजेड + पीई हेडर पर कूदें)। लेकिन आप डॉस हेडर को पूरी तरह से हटा नहीं सकते हैं। अन्यथा, विंडोज लोडर आपकी छवि को शुरू करने से इंकार कर देगा अगर एमजेड और पीई हेडर पर कूद लापता हो।

+0

आप PeStudio (http://www.winitor.com) – mox

+0

का उपयोग करके किसी भी निष्पादन योग्य छवि के डॉस स्टब के वास्तविक आकार को पुनर्प्राप्त कर सकते हैं, जो मेरा उत्तर कम कर सकता है, कृपया निष्पक्ष रहें और डाउनवोट पर टिप्पणी करें! धन्यवाद। – mox

13

पीई फ़ाइल किसी IMAGE_DOS_HEADER के साथ शुरू होनी चाहिए जो कि किसी भी समय IMAGE_NT_HEADERS संरचना द्वारा शुरू की जाती है जो आधुनिक पीई फ़ील्ड को परिभाषित करता है।

IMAGE_DOS_HEADER में दो अनिवार्य फ़ील्ड हैं - e_magic को IMAGE_DOS_SIGNATURE मान (जो ASCII में 'MZ' जैसा दिखता है) और e_lfanew को IMAGE_NT_HEADERS की शुरुआत तक फ़ाइल की शुरुआत से ऑफ़सेट होना चाहिए।

इन दो क्षेत्रों के अलावा, शेष IMAGE_DOS_HEADER Windows 16-बिट विंडोज के लिए वैकल्पिक है और शून्य हो सकता है, और डॉस स्टब वैकल्पिक है और छोड़ा जा सकता है।

न्यूनतम अनुरूप पीई फ़ाइल एक IMAGE_DOS_HEADER के साथ शुरू होती है जहां e_magic IMAGE_DOS_SIGNATURE पर सेट होता है और e_lfanew आकार (IMAGE_DOS_HEADER) पर सेट होता है, तुरंत IMAGE_NT_HEADERS द्वारा पीछा किया जाता है।

0

आप डॉस हेडर के आकार को "न्यूनतम" में कम नहीं कर सकते हैं। दुर्भाग्यवश IMAGE_DOS_HEADER में अंतिम फ़ील्ड अंतिम फ़ील्ड है। इस प्रकार यह 64 बाइट्स का एक निश्चित आकार है।

संबंधित मुद्दे