
במהלך כנס RSA, הסוכנות לביטחון לאומי של ארה"ב הודיעה על פתיחת הגישה לערכת הכלים להנדסה לאחור "Ghidra" , הכוללת כלי דיספרק אינטראקטיבי עם תמיכה בפירוק קוד C ומספקת כלים רבי עוצמה לניתוח קבצי הרצה.
הפרויקט נמצא בפיתוח כמעט 20 שנה והוא נמצא בשימוש פעיל על ידי סוכנויות מודיעין אמריקאיות לזיהוי סמנים, ניתוח קוד זדוני, לימוד קבצי הפעלה שונים וניתוח קוד מהודר.
מבחינת יכולות, המוצר דומה לגרסה המורחבת של חבילת IDA Pro הקניינית , אך הוא מיועד אך ורק לניתוח קוד ואינו כולל ניפוי שגיאות.
מצד שני, ל-Ghidra יש תמיכה בפענוח לפסאודוקוד הדומה ל-C (ב-IDA, תכונה זו זמינה דרך תוספים של צד שלישי), כמו גם כלים חזקים יותר לניתוח משותף של קבצי הרצה.
תכונות עיקריות
בתוך ערכת הכלים להנדסה לאחור של גידרה אנו יכולים למצוא את הדברים הבאים:
- תמיכה בקבוצות שונות של הוראות מעבד ופורמטים של קובצי הפעלה.
- ניתוח תמיכה בקבצי הפעלה עבור לינוקס, חלונות ו- macOS.
- הוא כולל מפרק, מרכיב, מפזר, מחולל גרפים לביצוע תוכניות, מודול לביצוע סקריפטים ומערכת גדולה של כלי עזר.
- יכולת ביצוע במצבים אינטראקטיביים ואוטומטיים.
- תמיכה בפלאגין עם הטמעת רכיבים חדשים.
- תמיכה באוטומציה של פעולות והרחבת הפונקציונליות הקיימת באמצעות חיבור סקריפטים בשפות Java ופייתון.
- זמינות כספים לעבודת צוות של צוותי מחקר ותיאום עבודה במהלך הנדסה לאחור של פרויקטים גדולים מאוד.
מעניין לציין, שכמה שעות לאחר שחרורו של Ghidra, החבילה מצאה פגיעות ביישום מצב ניפוי שגיאות (מושבת כברירת מחדל), אשר פותח את פורט הרשת 18001 לאיתור שגיאות מרחוק של יישומים באמצעות JDWP (Java Debug Wire Protocol).
כברירת מחדל, חיבורי רשת נוצרו בכל ממשקי הרשת הזמינים, במקום 127.0.0.1 , מה שמאפשר לך להתחבר ל-Ghidra ממערכות אחרות ולהריץ כל קוד בהקשר של היישום.
לדוגמא, אתה יכול להתחבר לבאגים ולבצע ביטול על ידי הגדרת נקודת שבירה ולהחליף את הקוד לביצוע נוסף באמצעות הפקודה "הדפס חדש", למשל, »
הדפס java.lang.Runtime חדש (). exec ('/ bin / mkdir / tmp / dir') ».
בנוסף, ניתן לצפות בפרסום מהדורה כמעט מתוקנת לחלוטין של תוכנת הדיסקומבלר האינטראקטיבית הפתוחה REDasm 2.0.
לתוכנית ארכיטקטורה הניתנת להרחבה המאפשרת לחבר מנהלי התקנים עבור קבוצות הוראות נוספות ופורמטים של קבצים בצורת מודולים. קוד הפרויקט כתוב ב- C ++ (ממשק מבוסס Qt) ומופץ ברישיון GPLv3. עבודה נתמכת ב- Windows ו- Linux.
החבילה הבסיסית תואמת לפורמטי הקושחה של PE, ELF, DEX (אנדרואיד Dalvik), סוני פלייסטיישן, XBox, גיימבוי ונינטנדו 64. ערכות ההוראות הנתמכות כוללות x86, x86_64, MIPS, ARMv7, Dalvik ו-CHIP-8.
בין התכונות, ניתן לציין תמיכה בוויזואליזציה אינטראקטיבית בסגנון IDA, ניתוח יישומים מרובה הליכים , בניית תרשים התקדמות חזותי, מנוע עיבוד חתימות דיגיטליות (העובד עם קבצי SDB) וכלים לניהול פרויקטים.
כיצד להתקין את Ghidra?
עבור אלו המעוניינים להתקין את ערכת הכלים להנדסה הפוכה של "Ghidra" , עליהם לדעת שעליהם להחזיק לפחות בפריטים הבאים:
- 4 GB RAM
- 1 GB לאחסון ערכה
- התקן את ערכת הריצה והפיתוח של Java 11 (JDK).
כדי להוריד את Ghidra, עליכם לגשת לאתר הרשמי שלה שם תוכלו להוריד אותו. הקישור נמצא כאן.
לאחר שתסיים, תצטרך רק לפתוח את החבילה שהורדת ובתוך הספרייה תמצא את הקובץ "ghidraRun" שיפעיל את הערכה.
אם אתם רוצים לדעת עוד על כך, אתם מוזמנים לבקר בקישור הבא.