en-UShe-IL
You are here:   Blog
Register   |  Login

Blog Archive:

Maximize
* Can be used in order to search for older blogs Entries

Search in blogs


Blog Categories:

Maximize
* Can be used in order to search for blogs Entries by Categories

Blog Tags:

Maximize
* Can be used in order to search for blogs by keywords

TNWikiSummit


Awared MVP 


 


Microsoft® Community Contributor 


Microsoft® Community Contributor


 Read first, before you you use the blog! Maximize
מרץ22

Written by: ronen ariely
22/03/2013 23:57 RssIcon

רקע GodMode

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

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

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

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

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

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

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

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

הדוגמאות שנראה עושות שימוש ב GUID based folder. הכוונה לכך שאנחנו מייצרים תקייה רגילה בכל מקום במחשב שרוצים כאשר בשם התקיה אנחנו מוסיפים מייד אחרי השם הרגיל שנרצה לתת לה את הקוד הנסתר שיבצע את העבודה.

Recycle Bin

יצירת תקייה בשם הבא:

MyBin.{645ff040-5081-101b-9f08-00aa002f954e}

ברגע שייצרנו תקייה בשם זה היא מקבלת אייקון כמו של ה Recycle Bin (פח השאפה של הקבצים שאנחנו מוחקים).

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

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

* הערה: יש בכך בעיה של אבטחה! אם אתם מאפשרים לאנשים ליצור תקיות אצלכם הם יכולים ליצור תקיות כאלה ולמעשה ליצור קבצים במיקום אחר במחשב!

מעשית מה שקורה זה שהתקייה כן נוצרת ולא רק קיצור דרך אבך כל נסיון להיכנס אליה מעביר אותנו אל תקיית האשפה
בתכנות נוכל להכניס קבצים לתקייה זו וקבצים אלו לא יהיו נגישים מהממשק הגרפי של ה EXPLORER מפני שעבור תוכנה זו מדובר רק בקיצור דרך

GodMode

יצירת תקייה בשם :

MyGodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

* מצאתי שקוד זה מאוד שימושי בעיקר במערכות  הפעלה windows 8 וכן windows 2012 server. למעשה הסיבה לבלוג זה היתה שאני נעזר בקוד זה וכל פעם שאני צריך אותו אני שוכח את הקוד ולכן צריך לחפש אותו באינטרנט מחדש. מכיוון שבימים אלו עלי להתקין כמה מערכות שרת 2012 החלטתי הפעם לרשום לי את הקוד לצרכים אישים שלי בבלוג.

קוד זה עלה לאוויר כבר בשנת 2007. מדובר בתכונה "סודית" או נכון יותר פשוט תכונה נסתרת של מערכות הפעלה מגרסת ויסטה (לא עובד ב XP). יש לציין שלא על כל מערכת הקוד פועל בצורה מלאה וכדאי לברר טוב לפני שעושים בו שימוש מה ההשלכות שלו. אני באופן אישי משתמש בו כרגע על מערכות הפעלה windows 7/8  ועל windows 2012 server.

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

גלישה מהנה,