שְׁאֵלָה:
טיפול בקוד עצמאי כפונקציה ב- IDA Pro
amccormack
2013-03-27 05:13:19 UTC
view on stackexchange narkive permalink

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

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

Large function

אחד תשובה:
Igor Skochinsky
2013-03-27 06:25:07 UTC
view on stackexchange narkive permalink

זה נשמע כאילו מה שאתה צריך זה קבוצות צומת. מאז היישום הראשון (5.0), תצוגת הגרפים של IDA אפשרה לקבץ כמה צמתים ל"צומת-על "אחד עם כותרת מותאמת אישית. פשוט בחר את הצמתים שברצונך לקבץ באמצעות לחיצה Ctrl ולחץ על "צמתים קבוצתיים" מתפריט ההקשר.

למידע נוסף, ראה "קבוצות צומת גרפים" בעזרת IDA או ב מקוון א>.

בהערה נפרדת, זה יעזור לשים את הקלט שלך בנושא נושא / מחוץ לנושא כאן http://meta.reverseengineering.stackexchange.com/q/7/189
מה הוא כנראה מחוץ לנושא, השאלה שלי או התשובה שלך?
@amccormack השאלה, מכיוון שהיא אינה כוללת הנדסה לאחור עצמה אלא "כיצד להשתמש בכלי RE". אבל אני מניח שנוכל להעלות שאלות כאלה בנושא. אנא הוסף את מחשבותיך [כאן] (http://meta.reverseengineering.stackexchange.com/questions/52/).
@IgorSkochinsky: ככל שאני אוהב (וכפי שאתה יודע;)) לציין שזה לא צריך להיות מוטה מדי כלפי כלי מסוים, אני חושב ששאלות אלה צריכות להיות בנושא. הוספתי שם את ה"הערה "שלי ומקווה שרבים אחרים יעשו זאת. Btw: אתה כבר עומד במה שאני מקווה שתהיה עמדתך בקרוב;) ... ראה גם: http://meta.reverseengineering.stackexchange.com/questions/7
@IgorSkochinsky: אני לא בטוח כשלעצמו, אבל ברוב אתרי ה- SE מקפידים פשוט לפרסם קישור בלי לצטט לפחות חלק חיוני.
@IgorSkochinsky אני חושב שהשאלה שלי לא חלה על המטא-דיון שציינת. אבל אני מבין את ההיסוס ולכן יצרתי שאלה מטא חדשה [שואל בנושא כלים הנדסיים לאחור בנושא] (http://meta.reverseengineering.stackexchange.com/questions/66/is-asking-about-reverse-engineering-tools -בנושא)
אוקיי, כל הנקודות הטובות, תן לי לערוך את זה קצת ...


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...