بما أن المشاركة الجماعية مفتوحة، لعلي أضع بعض ملاحظاتي وأسئلتي.
للوضوح، سأستعمل ال structures التالية لـ :
------------------------------------------------------
------------------------------------------------------
1- يبدو أن البرنامج يقوم بفك تشفير مصفوفة الحروف (char*) من العنوان 0x04000E2 إلى آخر الملف المكتوب المرفق ويكتب النتيجة ابتداء من العنوان 0x420000، حيث يمكننا أن نرى اسدعاء دالة printf هناك.
2-
IMAGE_OPTIONAL_HEADER32.SizeOfImage = 0x020077EB
هذا هو ما يسمح للبرنامج بالوصول إلى عنوان الذاكرة 0x420000 وما بعد، أليس كذلك ؟
3- جدول ال section فارغ، أي
IMAGE_FILE_HEADER.NumberOfSections = 0
هل من فائدة للربط (linking) بهذه الطريقة ؟ أهذا لتجنب عملية ال relocation ؟
للوضوح، سأستعمل ال structures التالية لـ :
File Header
https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_file_header
Optional Header
https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header32
------------------------------------------------------
------------------------------------------------------
1- يبدو أن البرنامج يقوم بفك تشفير مصفوفة الحروف (char*) من العنوان 0x04000E2 إلى آخر الملف المكتوب المرفق ويكتب النتيجة ابتداء من العنوان 0x420000، حيث يمكننا أن نرى اسدعاء دالة printf هناك.
2-
IMAGE_OPTIONAL_HEADER32.SizeOfImage = 0x020077EB
هذا هو ما يسمح للبرنامج بالوصول إلى عنوان الذاكرة 0x420000 وما بعد، أليس كذلك ؟
3- جدول ال section فارغ، أي
IMAGE_FILE_HEADER.NumberOfSections = 0
هل من فائدة للربط (linking) بهذه الطريقة ؟ أهذا لتجنب عملية ال relocation ؟
I am homesick for a place I have not even visited
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ
مَا ابْيَضَّ وجهٌ باكتساب كريمةٍ ... حتى يسوِّدهُ شُحوب المَطلبِ