Table of Contents
הבנת הנוף של Windows Reverse Engineering
הנדסת Windows לאחור נותרה משמעת קריטית לגילוי פרצות תוכנה, פירוק קוד זדוני, ניתוח פרוטוקולים קנייניים, והבנה מורשת או תוכניות לא מותקנות. שניים מהמונים הנפוצים ביותר במערכת האקולוגית של Windows הם (FLT:0OllyDbgFLT:1 (עבור 32 סיביות יישומים) ו-FLT2xbgbgrbgir 3Fbit אלה מתחילים לבצע את הטכניקות מתקדמות, החל מ-64 סיביות אלה.
מבט אל תוך-דפס באוליליד
מקור ופילוסופיה
OllyDbg, שנוצר על ידי Oleh Yuschuk, זכה פופולריות בתחילת שנות ה -2000 כדגן קל משקל וידידותי למשתמש, ידידותי למשתמש ברמה של מאגד.למרות שהוא מוגבל ל-32 סיביות, הוא נשאר רלוונטי לניתוח יישומים ישנים יותר של Windows, דגימות זדוניות רבות שנאספו עבור x86, ותוכנה שאינה כוללת 64 סיביות בונה.
התקנה והגדרה ראשונית
הורד את OllyDbg מהאתר הרשמי שלו (FLT:0.alollydbg.deph1) החבילה היא אחת מביצועים - לא להתקין נדרש - מה שהופך את יכולת הניתנות בקלות.עבור התוצאות הטובות ביותר, לרוץ OllyDbg על סביבת 32 סיביות או על מערכת 64 סיביות התומכת WOWOW64; זכור כי OlDbg עצמו יכול רק לפעוט.
צעדים מרכזיים לאחר השיגור:
- (ב) ,0) ,Options (ראה:0) מופיע חליל:1 וקבוע גופנים וצבעים להעדפה שלך - תוכניות ניגודיות גבוהות עוזר להפחית את לחץ העיניים במהלך מפגשים ארוכים.
- תחת השם FLT:0 (Options) Debugging OptionsveFLT:1), ניתן "Pause on Breakpoint" ולבחון את "Ignore INT3" אם אתה מתכנן להשתמש בנקודות מפנה מותאמות אישית.
- שם הספר בלועזית:0.10.10.10.10.10.10.10.10.10.10.18: ADDING THE TERS TO BEING TRA TRA TRA TRA TORED , ⁇
- לטעון מבחן executable (למשל, פשוט מורכב "HelloWorld.exe" כדי לאמת את המאסף ולהרשם מחבתות להפוך נכון.
User Interface Walk Through
ממשק של OllyDbg מורכב ממספר פאננים שניתן לארגן מחדש באמצעות גרגור ו-drop. פריסת ברירת המחדל כוללת:
- (בלטינית:0) חלון (למעלה משמאל): ⁇ 1) מציג את הקוד המופץ עם כתובות, ע"י טים, מונוניקה והערות.
- החלון (למעלה מימין): ההרחבה של ה-CPU (EAX, EBX, ECX, EDX, ESP, EBP, EIP, flags) כל העדכונים של הרישום חיים כפי שאתה צועד.
- חלון ה-Damp ( ⁇ משמאל): כפל 1: 1 (הופנה מהדף ASCII) ו- ASCII של זיכרון בכתובת שנבחרה, ניתן לשנות את כתובת הבסיס על ידי לחיצה נכונה ולבחור "Go to".
- חלון ה-FLT:0 (תיקון: ⁇ מימין): מראה את מסגרת הערימה הנוכחית, החזרת כתובות ומשתנים מקומיים.
הפנסים האלה תלויים הדדית: לחיצה על כתובת בחלון הזרקה מעדכנת מיד את הדיסדה-מבחינה אם אזור הזיכרון מכיל קוד.
סוגי השבה
OllyDbg תומך מנגנוני שבר מרובים:
- (FLT:0)INT3 breakpoint (F2): ההרחבה של התוכנה 1) מחליפה הוראה עם 0xCC פשוט, אך ניתנת לזיהוי באמצעות קוד נגד מחיקת מידע.
- (FLT:0) מזכר: 1.FLT 1 Set on a Memory Zone (exeable, Write or Read) על ידי לחיצה נכונה על המפה או על ידי לחיצה נכונה על לכידת כאשר buffer נתונים מסוים הוא גישה.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) נקודת הפסקה: FLT:1hav; An INT3 breakpoint בשילוב עם תיבת הודעה Win32 או מצב כניסה (למשל, "Break when EAX == 0") נגיש על ידי לחיצה נכונה על קו ובחירת "Breakpoint" מצב.
קוד ניווט עם OllyDbg
(ב) ויקרא י"א: ויקרא י"א): "ה' אלקים' (ב) ב'"ב' (ב"ב) ב') ב'[[1924]], [[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]], [[1924]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[1924]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]], [[1924]]]], [[1924]]]]]]]], [[1924]]]], [[1924]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]] [[1924]]]]]]]]
התפריט "חיפוש" הוא עוזר חזק:
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0 חיפוש עבור כל המחרוזת הנזכרת: ⁇ 1 (FLT:1 ), תמצית מהירה של כל מחרוזת ASCII ו- Unicode שניתן להשתמש בה.
Plugin Ecosystem
התגברות של OllyDbg באמצעות תוספים לפצות על היעדר עדכונים.
- (ב) ,0) אולי דומפאר: זיכרון של תהליך ריצה לדיסק לניתוח סטטי או תיקון.
- (ב) ⁇ :0) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0)OllyScript:FLT:1ir משימות חוזרות ונשנות באמצעות שפה דמוית פייתון.לדוגמה, אתה יכול לכתוב על תבניות ולהגדיר נקודות מעבר למספר ריצות.
- (ב) ,0) ,PhantOmrea: FLT:1 , תוסף לגנוב מתקדם כי מאמת את רבים הנפוצים ביותר IsDebuggerPresent ו NtQuery InformationProcess זיהוי.
כדי להתקין תוסף, הוציא את קובץ 'דל' לתוך תיקיית 'Plugins' של OllyDbg והתחל מחדש את debugger.
Mastering x64dbg: דיון מודרני עבור 32-Bit ו 64-Bit Targets
מדוע x64dbg הפך לסטנדרט
בעוד אואולידבג הוא יוצא דופן, x64dbg הוא הכלי ללכת אל המהנדס העכשווי לאחור הנדסה.הוא תומך ב- FLT:0 הן 32 סיביות ו- 64 סיביותFLT:1 executables, יש בסיס קוד פתוח פעיל נשמר פתוח קוד קוד פתוח (FLT:2GitHub repositoryFLT 3:3)), ומציג תכונות מודרניות כגון הכרטיסיה משולבת, אינטגרציה, אינטגרציה, אינטגרציה, אינטגרציה, אינטגרציה של דגם GhiHub Repository Repository GIUMFLT 3, ו-R.
התקנה ופתיחה ראשונה
הורד את המהדורה האחרונה של אתר x64dbg (FLT:0)x64dbg.comveFLT:1) החבילה כוללת שני משגרים מתוכנתים - x32dbg.exe עבור 32 סיביות debugging ו 'x64bg.exe עבור 64 סיביות.
על ההשקה הראשונה, הגדר את ההעדפות החיוניות האלה:
- (FLT:0) סיקורים: אירועים:FLT 1 בדוק "Breakpoint at System Breakpoint" כדי לעצור בשלב הכניסה במקום עומס המערכת.
- (ב) ⁇ :0) ,(ה) ,(ה) בחר נושא אפל או ערכת צבע אישית תחת "אופטיקה" - קל יותר לעיניים לשימוש ממושך.
- (ב) ⁇ :0) ⁇ : ⁇ 1 (ה) , "הראה ייצוג גלוי" ו"ראה קודים" אם אתה רוצה פרטים מלאים של הוראה גלויה בכל עת.
- (ב) ,0) הפונקציה Undo:FLT:1 x64dbg עוקב שינויים בזיכרון וברישום - אתה יכול לחזור צעד אם אתה בטעות לדרג משהו.
מיפוי ו-Workflow
החלון x64dbg מחולק לפאנלים מעוקלים:
- (FLT:0)CPU Disassembly:FLT:1 , עם כתובת, ע"י טים, disassembly, ועמודה להערות.Right-clicking מגלה תפריט ההקשר עשיר עם פקודות ניתוח: "מצא הפניות", "מצא Xrefs", "כסימן ל- NOP חדש" וכו '.
- (FLT:0)registers: FLT:1 Shows all general-purpose Registers, flag, Scrolls, ו- צף-point המדינה מצביעים על שינויים מאז האירוע האחרון - ירוק לשינוי, אדום עבור דגלים חדשים.
- (FLT:0) Dump: FigFLT:1) עורך זיכרון hex שיכול לעבור בין hex, טקסט ותבניות מבנה. Right-click a address ובחר "Watch DWord" כדי לפקח באופן מיידי על ערך 4-byte.
- (ב) ⁇ :0) ⁇ : ⁇ : דומה לאולילידבג, אך עם עיצוב נחמד יותר ויכולת להדגיש את כתובות החזרה ואת מסגרות מקומיות.
- (ב) עיין (ב"ג): "ה'" (ב)"ד:2GGFLT 3: 3) על פונקציה לפתוח את גרף הבקרה.
- (FLT:0)Symbols & מודולים:03: מהדורות 1:1 כל DLL טעון וטבלאות היצוא שלהם.You יכול להגדיר נקודות על כל פונקציה מייצאת על ידי חיפוש בכרטיסיה סמלים.
נקודות פורצות מתקדמות וטריגה
x64dbg מרחיבה את הפונקציונליות של נקודות קצה מעבר לאוליליד-באג:
- (FLT:0)Breakpoint עם תנאים ו-Credit: FIRLT:1) ילחצו על קו "Breakpoint" ("ה-Breakpoint") "עריכה" ניתן להוסיף מצב כמו "EAX == 0x12345678" והודעת יומן לחלון ה-Breakpoint.
- (FLT:0) נקודת מפנה מזיכרון בטווח: FLT:1 Click "Memory Map", בחר אזור, ובחר "Set Memory Breakpoint on Access" או "על כתיבת" זה חיוני למעקב כאשר bu הוא overwritten.
- (ב) ,0) ,(הההסברים) דרך התפריט: FIRLT:1 (FLT:2) ,Debug) Hardware BreakpointssFLT 3 כדי להגדיר עד 4 נקודות הפסקה של 4 DRx על קריאה / טקס / הפעלה.
- (ב) הקלטה:0 (Trace Recording:FLT:1; Enable (FLT:2Debug) , Trace RecordFLT 3 כדי ללכוד כל הוראה שהוצאה להורג מאוחר יותר, אתה יכול "לחפש" דפוסים בתיעוד - שימושי ביותר למציאת מיקום זיכרון מסוים משתנה.
סקרן ואוטומציה ב- x64dbg
אחת מתכונות הסטנדאפ של x64dbg היא התמיכה העמוקה שלה:
- (ב) ויקרא: "התב"הת' (ב"ה)"התב"ה" (ב"ה)"התב"ה-אין (ה)"ה"ה"ה"ה"מ"ל)" (ה-"ה-ב-ב-אין) ניתן לראות את ה-"המחשב הפשוט" (FLT:0)
- (ב) ⁇ :0)x64dbgpy:FLT:1 , A יותר נרחב פייתון מחייב אשר נותן שליטה מלאה: לקרוא / לשכת זיכרון, לפרקים שרירותיים, לנהל נקודות ועוד.
- (בשורה התחתונה של החלון, אתה יכול להקליד פקודות כמו 'bp kernel32.VirtualProtect', 'dump @rsp', או 'set eax ==' זה עושה פעולות מהירות ללא תפריטים נווטטיביים.
המונחים: Source-Levelאינטגרציה
השתמש בכרטיסיה (FLT:0) של Microsoft:0 (SymbolsFLT:1) כדי לטעון סמלים ציבוריים (דפידב קבצים) בשרת הסמל של Microsoft או הפרויקט שלך.עם סמלים טעון, x64dbg יכול להציג שמות תפקידים ומספרי קו ממקור המקורי - גישור הפער בין האנסמבל לבין קוד ברמה גבוהה.
השוואת OllyDbg ו x64dbg: מתי להשתמש בכל אחד
שני הכלים הם חזקים, אבל השימוש הטוב ביותר שלהם במקרים שונים:
- (FLT:0Legacy 32-bit תוכנה:FearLT:1 ; אם אתה עובד על יישומים ישנים, קבצים PE מעוותים, או ארוז 32 סיביות בינאריות טיפות כדי הטבעת 0, תוסף המערכת האקולוגית הבוגר של OllyDbg (במיוחד HideDebugger ו- OllyDump) עדיין יכול להיות אמין יותר.
- מטרות:0.64-bit: 1 x64dbg הוא הבחירה היחידה עבור 64 סיביות ילידים bugging. OllyDbg אפילו לא יכול לפתוח 64 סיביות executable.עבור קוד זדוני מודרני של Windows, להשתמש x64dbg.
- (FLT:0) צרכי המיפוי: 1FLT:1 x64dbg של ה- Python אינטגרציה הרבה יותר תכליתית מאשר OllyScript. אם הפרויקט שלך דורש פיצויי נתונים מותאמים אישית או אימונים שלמים, x64dbg מנצח.
- (ב) [ה]הבאה: [ה] [ה] [ה]] [ה'], אך ל-x64dbg יש חלון בנוי-ב-ב-"Patch" המרשם את כל השינויים ויכול ליצור קובץ חתם.
- (FLT:0) למד עקומה: 1FLT 1 OllyDbg יש עקומת למידה רדודה יותר למתחילים בגלל ממשק פשוט יותר ופחות כפתורים.עם זאת, תיעוד וקהילה של x64dbg הם פעילים יותר, כך ההשקעה הראשונית משלמת במהירות.
רבים מהם שמרו על היפוצים מנוסים (FLT:0) הן (FLT:103): אוללידבאג עבור טריג מהיר על דגימות 32 סיביות ו- x64dbg לכל דבר אחר.
פרויקט הנדסה הפוכה: פצח סדקים פשוטים
כדי לחזק את המושגים, אנו הולכים באמצעות ניתוח טיפוסי "crackme" - תוכנית קטנה המבקשת סיסמה.We'll use x64dbg עבור הפרויקט הזה, אבל אותם צעדים חלים על OllyDbg (עם הבדלים קלים UI).
שלב 1: סיור סטטי
לפני ההשקה של ה- debugger, להפעיל את ה-executable ולסמן את התנהגותו.בדרך כלל, הוא מציג דיאלוג עם תיבת עריכה ו-"Check" כפתור ". הזן סיסמה דומיה כמו "מבחן" כדי לראות את הודעת השגיאה ("סיסמה של Wrong").
עכשיו פותח את ה- x64dbg. Note את נקודת הכניסה - בדרך כלל קריאה ל-'GetModuleHandleA' או 'Win Main'. Scroll דרך ה disassembly כדי למצוא את המחרוזת "סיסמה וונג!", הקש FLT:0Ctrl+FLT 1 ולחפש את המחרוזת (או שימוש ב-FLT2) עבור קוד כפול:
.text:00401234 push offset aWrongPassword ; "Wrong password!" .text:00401239 call ds:MessageBoxA
ממש מעל זה לדחוף, יש סביר להניח קפיצה מותנית (למשל, 'ג'ן' או 'ג') שמחליטה איזה מסר להציג.קבע נקודת מפנה על זה.
שלב 2: ניתוח דינמי
[ה]ה' [ה]'[דרוש מקור] [ב]]'[ה]'[דרוש מקור] [ב]] [ה]]] ב[[המאה ה'], ו[ה] ב[[המאה ה-20]], ב[[1924]], [[1924]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]], [[1924]]]]]]]]]] [[[[1924]]]]]]
אם ההשוואה היא שיחת "סטרקאמפ" פשוטה, אתה יכול לאתר את הקריאה ל"סטרקאמפ" ולראות את טענותיו בחלון הערימה.שני הטיעונים הם נקודות - אחד קלט שלך, אחד לסיסמה הנכונה.Right-click the Second Pointer address address address address address ובחר "עקב ב Dump" כדי להציג את הסיסמה בזיכרון.
שלב 3: מרדף אחר בן הזוג
מטרה משותפת של פצח היא לעקוף את בדיקת הסיסמה לחלוטין.בקפיצה מותנית שמובילה להודעה הלא נכונה, אתה יכול לשנות את הקוד.Right-click the jump line ולבחור "Assemble" - להחליף את "jne 0x00401234" עם "je 0x001240121234" או פשוט "nop" את הקפיצה, מיד ובחר "Copy to tch to tchable message to the Window" to betended Window.
שלב 4: תסריט הפתרון
אם הייתם מנתחים מאות בני-קרב דומים, הייתם יכולים לשייך את ה-Athon Script ב- x64dbg יכול: למצוא את כל ההפניות למחרוזת השגיאה, לזהות את הקפיצה המסוכנת הקרובה ביותר, ולהחליפם עם NOPsled, הכל ללא אינטראקציה ידנית.
טכניקות נגד הדבקה
תוכנות מסחריות או קוד זדוני רבות מעסיקות את האנטי-התמרנות כדי להרתיע ניתוח.כאן הן טריקים נפוצים וכיצד לעקוף אותן עם OllyDbg ו- x64dbg.
- (ב) [ה][דרוש מקור]] [ה]] [ה]] [ה]] [ה][דרוש מקור]]]], [ה], [ה]][ה]]]], [הה], [התחילה] [התחילה] [ה] [התחילה] [ה] [ה] [ה]] [ה]] [ה] [ה]]] [ה]]] [הת ה'[ה'[ה']]]] [ה'[ה'[ה'[ה'[ה'[ה'[ה'[ה'[ה']']'[ה']]]]]]]]'[ה']]]'[ה'[ה'[ה']']'[ה']]]'[ה']']']']'[ה'[ה'[ה']]]']'[ה']']'[ה'[ה'[ה'[ה'[ה'[ה'[ה']'[ה'[ה'[ה'[ה'[
- (ב) [17] ,0) ,NtQuery InformationProcess:03FLT:1 מתוחכם יותר. , Patch את הערך החזרה (התהליך DebugFlags או מעבד DebugPort) על ידי הצבת נקודת הפסקה ושינוי המבנה חזר.
- (FLT:0) בדיקות מותאמות: FLT:1 Code מודד את הזמן בין שני הוראות ומשווה אותו עם סף.שלב באמצעות פיזור מציג עיכוב. השתמש ב- חומרה כדי למנוע נקיטת צעדים לאורך קוד רגיש בזמן, או להשתמש בתכונה "ריצה לבחירה" כדי לקפוץ מעבר לבדיקה.
- (ב) [ה]הסברים: [ה] [ה] [ה]] [ה]] [ה]] [ה]]] [ה]]] [ה]]][ה]]]]] [ה'[ה]]]], [ה'[ה']'[ה']'[ה']']'[ה']'[ה']'[ה']']'[ה'[ה']']'[ה'[ה']'[ה'[ה'[ה'[ה'[ה'[ה']']']'[ה'[ה']'[ה'[ה']']']'[ה']']'[ה']']'[ה']']']']']'[ה'[ה']']']'[ה'[ה']'[ה']']'[ה']']'[ה'[ה'[ה'[ה']'[ה'[ה']']'[ה'[ה'[ה'[ה'
אופטימיזציה של זרימת העבודה שלך
הנדסה הפוכה היא תהליך קפדני - רווחי הפרודוקטיביות משנה.חשב הטיפים האלה:
- (FLT:0) השתמש ב-VM ייעודי:FLT:1 להפעיל את הכלים המבולגנים שלך בתוך מכונה וירטואלית של Windows. Snapshots מאפשר לך לחזור למצב נקי לאחר להדביק קוד זדוני או בלגן ספריית מערכת.
- (FLT:0) אינטגרראט עם כלים ניתוח סטטי: ההרחבה הדינמית של Complement עם IDA Pro, Ghidra, או Binary Ninja.יצוא סמלים מ disassembly סטטי לייבא אותם ל- x64dbg עבור ניווט קל יותר.
- (FLT:0)Commentכבדות: 1.10LT) שניהם תומכים בהוספת הערות לקווי קוד. השתמש בהם כדי לתעד את הבנתך את שגרות, טיעונים, ולהחזיר ערכים.
- (FLT:0Log Everything:igFLT:1) השתמש בחלונות הכניסה ב- x64dbg כדי להקליט להיטים, לרשום ערכים, ושינויים בזיכרון.מאוחר יותר אתה יכול לגרד את הלוג כדי למצוא דפוסים - לדוגמה, כל קורא "WriteFile" עם ערכי טיפול.
- (FLT:0) משאבים חיצוניים: FLT:1ib אתרים כמו FLT:2Woodmann.comveFLT 3; ארכיון רבים של תוספי OlyDbg ו הדרכות. עבור x64dbg, הרשמי GitHub wiki ואת הבלוג ReversLabs הם הפניות מצוינות.
מסקנה
אואולידבג ו- x64dbg נותרו הכרחיים עבור Windows הנדסה הפוכה. olyDbg של הפשטות של תוסף התוסף בוגר בסיס לשרת היטב לפרויקטים של 32 סיביות, בעוד שהאדריכלות המודרנית של x64dbg, תמיכה 64 סיביות, ויכולות תסריט חזק להפוך אותו הכלי של בחירה עבור מנגנונים עכשוויים של יישום, זיכרון, אנטי-מדבקות על ידי קידודים, ואפילו על ידי מיומנויות מורכבות, להתחיל עם אבטחה, יכול להיות מסוגלות, אפילו על ידי אופטימיזציה של יישומים מורכבים.