המאמר עוסק גם בדרך להימניע מגילוי בזמן Memory Execution .
המאמר הוא מאד פשוט וכל אחד יכול לבצע אותו.
ידע דרוש:
ידע בסיסי ב Olly Debug.
ידע בסיסי ב Assembly .
אז איך השיטה עובדת? :
כיום עוד שיטה שיש לאנטיוירוסים לגלות את הוירוס שלנו היא על ידי מציאת את Entery Point .
ה Entry Point היא הנקודה המפעילה את הקובץ , החל מנקודה זאת , כל הקובץ חשוף.
מה שעלינו לעשות כדי למנוע מאנטיוירוסים לגלות את הנקודה הזו היא ליצור מעיין Code Cave אשר ישמש
מעין נקודת Entery Point מזוייפת אשר תיהיה בלתי ניתנת לקריאה אך בעלת אותה שימוש.
את הנקודה נסתיר על ידי דחיפה ל " Stack " (או בעיברית למחסנית ) ונמצא לא תחליף כלשהו.
תנאים בשביל שהשיטה תעבוד :
כדי שהשיטה תעבוד על הקובץ להיות נקי , ולא מוגן על ידי שום Packer או Crypter וגם לא דחוס על ידי UPX .
איך מוודאים שהקובץ אכן לא דחוס? :
מה שהדחיסה עושה בעצם היא מוחקת מקום מיותר (כעיקרון הוא מאד חשוב בשבילנו ) בקובץ.
המקום המיותר הזה הוא קוד מלא ב 00. וכיודע 00 הוא מקום ריק.
רק בעזרת מקום ריק נוכל לבנות את הCode Cave שלנו
אז איך בונים Code Cave ?
עלינו למצא נקודה מלאה ב 00 (בד"כ יש הרבה כאלה בסוף הקובץ )
היא אמורה להראות כך :

לאחר שמצאנו נכניס באפסים את הוקד הזה :
Retn
Retn
Push ebp
Mov ebp,esp
Sub esp,8
כאן לכתוב Push ואז את ה adress של ה entery point
כאן לכתוב Push ואז תאדרס של ה Retn הראשון.
כאן לכתוב Mov ואת האדרס של ה Retn השני
Jmp eax
דוגמא איך זה אמור להראות בזמן אמת :

עכשיו תשמרו את הקובץ והוא יהיה מוגן מאנטיוירוס.