בלוג

9 ים 2017

פיתוח תוכנה: מהו הוק?

פיתוח תוכנה: מהו הוק?

אנחנו צריכים לדעת על כמה סוגים של הוק.

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

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

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

לשנות את קוד המקור CMS היא לא מחשבה חכמה, אחרי כל הרענון הבא של המכשיר תוכל להתמודד עם הקושי לאבד את השינוי או לא יש את היכולת להמשיך את כל רענון;

  • הפוך CMS משלך הוא עוד מחשבה איומה, כל הדברים נחשב, אין לך מספיק אנרגיה או נכסים מספיק כדי לעשות דברים חדשים או אפילו לשמור על מה לפברק;
  • חקור את הסבירות של ניצול וו, כלומר, לבדוק אם CMS נראה מודולים חיצוניים או מודולים עבור אלמנטים של שם המוצע להתבצע ברגע הכמיהה, עבור מצב זה, את הפצה של הודעות חדשות.
  • החלק אל כדור הארץ של ניצול ווים משתנה בדרך כלל ממכשיר למכשיר. המיקום המועדף העיקריות של ווים היא לא לשנות את הקוד הראשון. בכל ספרי ההדרכה הגדולים של כל התקני הקוד הפתוח שיש להם עדכונים לסירוגין המנטרה שחוזרת את עצמה אינה משנה את המרכז. עם זאת, על אף שהרענון לא יעלה על הדעת, כל אדם שיבוא אחר כך יחזיק מעמד לא יחשוב על השינוי, והאדם שבקושי דן בו הוא אתה, לא המנגנון.

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

פתרונות טכנולוגיים חדשניים מציעה תוכנה Developement הדרכה ב GURGAON, דלהי NCR בהודו.

הוקס כמו דפוסי עיצוב

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

אחרים הן דוגמאות של איחוד ופיתוח מחיצה: שיטת תבנית וגשר.

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

שיטה וירטואלית

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

מאז VMT הוא שולחן המכיל את המצביעים עם כתובות זיכרון עבור יכולות ממשק, מה צריך לעשות הוא להחליף את כתובת הזיכרון הראשון עם כתובת של עבודה וו לגיטימי. לאורך השורות הללו, הטכניקה הנקראת תוחלף, וההתנהגות הנחשקת החדשה של הקיבולת תתבצע.

ממשק API

פיתוח תוכנה - מה זה הוק - נקודת 2 ההליך Hooking API באמת מאפשר לך להמציא מחדש את האלמנטים של מערכת העבודה. עם היכולת ללכוד חיובים כאלה, אתה יכול לשנות את הפרמטרים שלהם על ידי שינוי הפעילות שתבוצע בתחילה.

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

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

ממשק תכנות Hooking, בנסיבות הספציפיות שלנו, מרמז על קבלת ה- API של מערכת ההפעלה, או מכל DLL, ולשנות את ביצוע טיפוסי למקום אחר, ליתר דיוק, כדי יכולת אחרת. ישנן שתי גישות עיקריות:

EAT ו IAT: כל EXE / DLL מכיל API לייבא שולחנות הנסיעה. טבלאות אלה מכילות מצביעים המציגים את נקודת הכניסה של ממשק API. על ידי שינוי אלה מצביעים, מה שהופך אותם מצביעים על התקשרות שלנו, יש לנו וו. כך או כך, אם זה EXE / DLL לא לייבא API, אסטרטגיה זו לא תעבוד;

פשוט כתב קוד: כמו קודם אמר, אם זה היה מתקבל על הדעת כדי להוסיף שיחה כדי להתקשר שלנו לקראת תחילת קוד ה- API, נוכל "וו" זה, מה שהופך את היכולת שלנו לפעול בכל נקודה הנקרא API נקרא. כך או כך, יש בעיה: אם אחרי קוד שלנו היה מטופל, היינו צריכים לקרוא את ה- API הראשון, היינו נופלים בחזרה על התקשרות שלנו, ואת המבול מחסנית תיווצר. הסדר אחד הוא לתקן את הקרס יש את היכולת לקרוא את ה- API, מחדש מנסה את זה פעם זה מתבצע. כך או כך, בתוך מרכז זה הקרקע, כמה שיחות ה- API יכול להיעשות ולא לבצע את התקשרות שלנו;

Inline הוק היא הנקודה שבה אנו מקבלים את ההנחיות העיקריות של קיבולת, ואנחנו לסחור עבור קפיצה, דחיפה או שיחה עבור היכולת שלנו.

קרא שנקראו: מערכת ההפעלה של Windows בנוסף מתבססת API. אנחנו צריכים לדעת איך פונקציות של Windows API משדלת?

אירוע משדלת

פיתוח תוכנה - מה הוא הוק - נקודת 3As וו טכניקות decouple ממשקים יציבים והתנהלות של מרחב מגוון שיכול לצאת מן המופע של יישום עבור הגדרה מסוימת קורה היפוך של שליטה. מטפלים אירועים אובייקטים לשנות את ההכנות. בסוף היום, כאשר קורה קורה, המטפל מגיב אסטרטגיות וו מתחזה על אובייקטים מראש נרשם לבצע אירוע מיוחד הכנת פעילויות. מקרים של מקרים: הודעות חלון, צרורות נוחתים יציאות התכתבות.

בתוך IAT משדלת

פיתוח תוכנה - מהו תהליך Hook-Point 4Each ב- Windows יש טבלה הנקראת Import Address Table (IAT), המאחסנת מצביעים ליכולות שנשלחו על-ידי קבצי ה- DLL של כל הליך. טבלה זו מאוכלסת בהדרגה עם כתובת של אלמנטים של קבצי DLL בזמן ריצה.

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

Netfilter הוק

פיתוח תוכנה - מהו Hook - Point 5Netfilter היא מערכת המשנה לינוקס יותר ראוי לציון מאשר 2.4. הוא אחראי על החבילה מפריד, NAT, חומת אש, ניתוב מחדש, בין היתר. Netfilter הוא להרחבה יוצאת דופן, ואת התיעוד שלו הוא סיים. זה משאיר את הסבירות של שימוש הוקס בקוד הליבה, מה שהופך את הניצול שלו גמישה מאוד וקיבל בדרך כלל על ידי הקבוצה. הוקס אלה להשאיר כמה תוצאות שניתן להעלות על הדעת והוא יכול למלא כמו מעורר עבור מקרים ספציפיים.

סיכום:

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

GTranslate Your license is inactive or expired, please subscribe again!