datadirectory - What's the difference between "Import Table address" and "Import Address Table address" in Date Directories of PE? -
अगर आप पोर्टेबल के साथ खेलना चाहते हैं निष्पादन योग्य, इसकी प्रतिलिपि के आसपास कोई रास्ता नहीं है।
यह कुछ समय हो गया है, लेकिन अगर मेमोरी सही तरीके से कार्य करता है: आईटी और आईएटी समान हैं, सिवाय IAT पीई-लोडर
संपादित करें:
अगर ऐनक के माध्यम से त्वरित ब्राउज़ किया जाता था, और मुझे रीफ्रेश किया गया था स्मृति थोड़ा: आयात तालिका मास्टर संरचना है, जिसमें से एक प्रविष्टि प्रति डीएलएल आप आयात कर रहे हैं प्रत्येक प्रविष्टि में अन्य बातों के अलावा, आयात लुकअप तालिका ( आईएलटी ) और आयात पता तालिका ( आईएटी ) सूचक (iirc इन्हें OriginalFirstThunk
और प्रथमटंभ
कहा जाता था)। आईएलटी और आईएटी टेबल समान डिस्क पर हैं, लेकिन रनटाइम के दौरान आईएटी आयातित कार्यों के मेमोरी पतों से भर जाएगा।
पीई हेडर आईएटी क्षेत्र शायद 100% पर भरोसा नहीं किया जा सकता है यदि आप अमानक EXEs से निपटने में सक्षम होना चाहते हैं, जैसे आप शुरूआती / आकार के कोड और डेटा संकेतक पर निर्भर नहीं कर सकते हैं। आईएटी हेडर क्षेत्र को अनदेखा करना और इसके बजाय आईटी को पार्स करना सबसे अच्छा है। इसके अलावा, जब आईटी का पार्सिंग करते हैं, तो आईएलटी कुछ निष्पादन योग्य पर गायब हो जाएगा, केवल आईएटी वाले - पुराने बोरलैंड (आईआईआरसी) लिंककर्ता आईएलटी को उत्पन्न नहीं करने के लिए कुख्यात थे।
संपादित करें 2: परिभाषाएं
- आईटी: आयात तालिका (पीकॉफ़ खंड 6.4.1) - प्रति-डीएलएल <कोड> IMAGE_IMPORT_DESCRIPTOR की तालिका।
- आईएलटी: आयात लुकअप तालिका (पीकॉफ़ खंड 6.4.2 ) - प्रति-आयात <कोड> IMAGE_THUNK_DATA की तालिका।
- आईएटी: आयात पता तालिका (पेकॉफ़ खंड 6.4.4) - ऑन-डिस्क: आईएलटी के समान, रनटाइम: आयातित फ़ंक्शन से भरा मेमोरी पते।
Comments
Post a Comment