בעת תוכניות הנדסה לאחור, לעתים קרובות אני מוצא פונקציות כמו זו שלמטה. במיוחד יש לפונקציה זו קבוצה של חסימות אם / אחר מקוננות (תיבות ורודות) שבדרך כלל יהיה קל למדי למעקב. אולם כאשר קוד מתבצע בתיבה הכחולה, הקוד הופך למבולגן ויכול לקחת שני מסלולי קוד עצמאיים (סגול או צהוב). אם היזם היה משתמש בפונקציה (או לא השתמש בפונקציה מוטבעת) עבור בלוקי הקוד הסגולים או הצהובים, יהיה קל הרבה יותר לבצע הנדסה לאחור של קוד זה. כפונקציה, אני יכול לשנות שם ולהגיב על גוש הקוד, והתוכנית הכוללת הופכת לקלה יותר לקריאה.
הטכניקה הרגילה שלי כשאני נתקל בסוג זה של פונקציה היא להחיל צבעים על גושי הקוד כמו אתה רואה בגרף למטה. האם יש דרך עבור IDA להתייחס לאוסף שרירותי של חסימות קוד כאל פונקציה שאינה נקראת ו / או שישנן גישות טובות יותר להתמודדות עם קוד מוטבע ובלוקי קוד עצמאיים?