שְׁאֵלָה:
ייבוא ​​רשימת פונקציות וכתובות ל- WinDbg
Ilya
2014-03-11 15:45:25 UTC
view on stackexchange narkive permalink

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

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

למרבה הצער, ל- IDA אין " ליצור תכונת PDB "ואני אפילו לא רואה דרך שאינה PDB לייבא כתובות ל- WinDbg.

רעיונות, מישהו?

זה לא ממש מתאים להוספת "רשימת" סמלים, אך (לאחר שראיתי את ההתייחסות ל 'IDebugSymbols3 :: AddSyntheticSymbol` בסיומת המוזכרת למטה), חקרתי מעט, ונתקלתי בסיומת אחרת (`synexts`) המאפשר הוספת סמל דרך חלון הפקודה: [בלוג] (https://sudonull.com/post/3341-Synthetic-symbols-and-modules-WinDbg-DbgEng) (הבלוג מציין גם שהשיטה נחשפת ב ' pykd` גם כן)
אחד תשובה:
blabb
2014-03-21 00:42:15 UTC
view on stackexchange narkive permalink

דף זה מכיל סקריפט IDC ותוסף Windbg כדי לזרוק את השמות ותוסף WinDbg כדי לטעון את השמות האלה ל- WinDbg.

נראה כי סקריפט ה- idc עובד מאוד מאוד איטי כאשר הבינארי הוא מעל כמה קילובייט יכול מישהו לבדוק אותו ולהגיב על שיפור המהירות שלו או להציע שיטה חלופית כדי להאיץ אותו וכתוצאה מכך תבנית פלט זהה
במקרה שלי (איתור באגים במנהלי הליבה), עלי להגדיר 'tosubtract = FirstSeg () `
תוסף שמביא את השמות די מהר (ממוקד לעבוד ב- ida free 5 נוסף לשרשור באמצעות get_nlist_size (), שם, פונקציות זה כמה גודל יותר מהסקריפט תסתכל
אני לא מוצא את זה. btw, שיפרתי את הקוד כך שיכלול גדלי פונקציות. ערימות שיחות מעניינות אותי מאוד והן לא הוצגו כראוי כשהגודל תמיד היה 4 - הנה השינוי, די טריוויאלי: https://gist.github.com/ikonst/ebae548dac7934dc0bdf
http://www.woodmann.com/forum/showthread.php?15503-addsym-windbg-extension-(extension-to-load-names-from-ida-to-windbg)&p=96352&viewfull=1#post96352 החמישי הודעה בשרשור מכילה את התוסף ida להחלפת ida ============================================= == דעתי האישית עלי לפחות לזכות את האישור המקורי ב- github שלך ===================================== ===========
:) התכוונתי פשוט למקום לפרסם את השינויים שלי. באיזה שם עלי להשתמש, 'בלאב'?
ורד בכל שם אחר היה מריח כמו מתוק .......... אז אתה מקבל את סוף הפונקציה ומחסיר את הסוף מההתחלה כדי לקבל את גודל הפונקציה ולהעביר את הגודל ל- AddSyntheticSymbol כך שהשטח השלם מסומל כעת ב windbg. מה ההבדל זה מספק בתצוגת ערימת שיחות ב- windbg? או כיצד העברת גודל> 4 משפיעה על kb (לפי ערימת שיחה אתה מתכוון ל- kb או לא?)
התכוונתי לחלון "Call Stack" :) אבל כן, גם "kb" ו- "! Thread" וכו '. WinDbg לא משתמש בסמל הכתובת הקרוב ביותר כהפניה, כלומר לא myfunc + 0x123 אלא (למשל) DriverEntry + 0x6123 (אם DriverEntry הוא הסמל הראשון). ציון הגודל הנכון פותר זאת.


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