(15-09-2021, 04:10 PM)overlap كتب : التطبيق الأصلي مبني بــ ML64 و يحتوي هو ايضا على نفس الــ Stub المعدل...
حاولت فعل هذا بعد تلميحك، ولكن أقصى ما وصلت له هو 640 بايت، ويبدو أن الفرق بين تطبيقك وتطبيقي هو القسم .idata. يرفض ml64 أن يدمجه مع أي قسم آخر! إذا أدمج القسم فالمفترض أن الحجم سينقص 40 بايت أن 600 بايت، ولكن إن كان فهمي صحيحا فشرط المحاذاة ALIGN:16 يجبر ال linker على إضافة 8 بايتات أخرى أي 608 بايت. هذه الزيادة بمقدار 16 بايت عن برنامجك بعد المقارنة تبين أن سببها استعمالي للأمر
mov r9, offset EventName
وطوله 10 بايتات بينما أنت استعملتlea r9, offset EventName
بطول 7 بايتات. ويبدو أن هذا الفرق الطفيف جُعِل 16 بايت من قبل ال linker بسبب شرط المحاذاة، وبالفعل بعد تغيير الأمر نقص حجم البرنامج 16 بايت أي 624 بايت.(15-09-2021, 04:10 PM)overlap كتب : ML64 لا يهتم باضافتها و منه يزيد صغر حجم التطبيق النهائي...فعلا! بالمناسبة، هل قمت بتصفير ال rich signature وكذلك ال linker versions في ال optional headers بشكل يدوي؟
(15-09-2021, 04:10 PM)overlap كتب : بالمناسبة، الظاهر انك تستعمل اصدار Visual Studio 2017 ؟بالفعل، هذا ما أستخدمه، استنتجت هذا بسبب مشكلة ال exceptions الذي ذكرتها بالأعلى ؟
I am homesick for a place I have not even visited
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ