![ישן](https://static.fresh.co.il/images/vBulletin/statusicon/post_old.gif)
17-04-2008, 22:17
|
|
|
חבר מתאריך: 10.04.08
הודעות: 87
|
|
אתה פשוט מסתכל בתוכן שלו.
יש מיליון דרכים להדפיס הודעה למסך, ולפי הדרך שבה זה נעשה ב-EXE ספציפי, אתה יכול לדעת מי עשה את זה.
בפועל, יש תוכנות שעוזרות לעשות את זה:- הכלי הבסיסי הוא הדיסאסמבלר שמראה לך פקודות אסמבלי במקום אופקודים בינאריים. עכשיו אתה רוצה להבין מה קורה שם.
- בשביל זה יש לך כלים מתקדמים יותר שכוללים דיסאסמבלרים בתוכם. הם מתחלקים לשתי קטגוריות עיקריות:
- כלי RE (ר"ת של Reverse Engineering, הנדוס לאחור) סטטיים, כמו IDA. מדובר בכלים שיודעים לנתח את הקוד בצורה חכמה, בד"כ כוללים עורכים מתקדמים למדי, מאפשרים חיפושים מתקדמים, מראים לך פריטי מידע נוספים על קובץ בינארי מלבד הקוד עצמו (דוגמות מ-IDA: פונקציות שהבינארי מייצא, פונקציות מ-DLL-ים שהוא משתמש בהן, מחרוזות שנמצאו בקוד; הוא מנתח את הקובץ ומראה לך את הקבועים בנפרד; וכו')
- ישנם כלים שמנסים להיות מתקדמים יותר ולהראות לך קוד בשפות תכנות נורמליות ולא קוד אסמבלי, אבל ההצלחה שלהם נמוכה למדי כשלא מדובר בשפות שרצות על מכונה וירטואלית וכו'. ל-IDA לדוגמה קיים פלאגין בשם Hex Rays שמייצר מעיו פסוודו-קוד C לקוד האסמבלי שעובדים עליו, אבל הוא לא הרבה טוב יותר מהאסמבלי עצמו.
- דיבאגרים: מדובר בכלים שמאפשרים לך להתחבר לפרוסס או להריץ פרוסס חדש, לעצור אותו כרצונך בכל פקודות אסמבלי, ולבצע אותן אחת אחרי השנייה, תוך כדי מעקב אחרי המחסנית, הזיכרון, מצבי האוגרים וכו'. דיבארים נפוצים לווינדוס הם windbg של MS ו-ollydbg (גם IDA מאפשר דיבוג, אם כי לא התנסיתי בכך), הדיבאגר האגדי של לינוקס הוא gdb וגם עם דוס היה כלי דיבוג פרימיטיבי למדי בשם הישיר למדי debug.
ספציפית במקרה של אייס מן התכוונתי שיפתח IDA ויסתכל מה הוא מוצא שם בפנים.
|