هناك حيلة اكتشفتها وانا احاول في ثغرة البفر اوفر فلو للملف الاول وهي تنجح في حالة Direct Overwrite EIP حتى وان كان العنوان ينتهي بي صفر 00 رمز نهاية السلسلة ،
الحيلة واهديها للعناكب بسيطة جدا حدد البفر يكون مضبوط لا نقصان ولا زيادة يعني البفر يحدث بعد 32 حرف مثلا ،
الان ماذا نفعل نختار اخر 4 حروف وهي التي ستكتب مباشرة على عنوان العودة
AAAA مثلا نريد ان يقفز إلى العنوان 0022C3D9 اوكي ننقص السلسلة التي سندخلها بايت واحد فقط يعني ستكون بالشكل التالي:
AAAAAA....................AAAA D9C322 عدد 31 حرف ستقولي طيب كيف اكتب ال 00 ،
اقول لك طالما ان البفر يكتب فوق عنوان الرجوع غالبا سيكون العنوان 004XXXXX اي ان ال00 موجودة في الذاكرة فلا نحتاج كتابتها ، بعد ذلك ننفذ الكود ، ولكن عيب هذه الطريقة انك لا ستطيع جعل الشيل كود بعد عنوان الرجوع اي
AAAAA[RET IP]NOPS AAAA
ولكن الشكل التالي للثغرة مناسب
NOPS[SHELL CODE][RET IP]