2

תיקון מערכת הboot של Windows

 
פורסם בתאריך 13th מרץ 2011 ע"י SoleSoul

שלום חברים! שוב בעיה במחשב.

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

כך זה היה נראה לפני השינוי:

המשך לקרוא

2

CreateFileMapping: עריכת קבצי PE

 
פורסם בתאריך 10th מרץ 2011 ע"י vbCrLf

כשהתחלתי לעבוד על פרוייקט קטן ב-C++ שכלל עריכת קבצי PE (קבצי הרצה, EXE או DLL בד"כ) נתקלתי בשיטה ממש נחמדה לעריכת קבצים תחת Windows, ובמיוחד קבצי PE. משימות מסובכות כמו שינוי מאפיינים (גרסה, חברה, וכו'), פאץ' לתוכנה, שינוי אייקון וכל מניפולציה אחרת הופכים להיות עניין של הכנסת וקריאת ערך ממשתנה. הסתכלו לדוגמה על השורות הבאות:

ntHeader->OptionalHeader.MajorImageVersion = 4;
ntHeader->OptionalHeader.AddressOfEntryPoint = 0x53a8cd;

הייתם רוצים ששינוי משתנים בצורה כזו יגרור שינוי מיידי של הקובץ? זה אפשרי, והנה הדרך לעשות זאת.

 

המשך לקרוא

איך סטודנטים יכולים לקבל מערכת הפעלה כמו Windows 7 בחינם

 
פורסם בתאריך 8th מרץ 2011 ע"י SoleSoul

זהו. הוחלט. Windows 7 הוא יורש ראוי לXP הנאמן והמזדקן.

רצים לקנות את Windows 7 מארגון המורים ב-60 שקל? ובכן, יש אלטרנטיבה מגניבה הרבה יותר.

הכל התחיל כשאמרו לנו במכון לב (שם אני לומד) להוריד את Visual Studio 2010 Professional מ-Dreamspark של Microsoft בחינם. להפתעתי, ראיתי שמוצע שם להורדה Windows Server 2008 R2 Standard בחינם. שמעתי שהקרנל שלו זהה לקרנל של Windows 7 והייתי חייב לבדוק איך הוא יתמודד עם חומרה של מחשב נייד ואם הוא מתאים לשמש כמערכת הפעלה ליומיום.

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

המשך לקרוא

טיול קצר בתכנות דרייברים

מדריך לכתיבת דרייבר בסיסי עבור כל גרסאות Windows

פורסם בתאריך 5th מרץ 2011 ע"י vbCrLf

לפני כשבועיים פרסם אחד מחברי פורום ההאקינג הישראלי (Ratinho) אתגר מעניין. קראק-מי פשוט שמבקש סיסמה ומחזיר Good job או Wrong password בהתאם. המטרה הייתה לפרוץ את התוכנה שתחזיר תמיד Good job, גם אם הוכנסה סיסמה לא נכונה, ומכיוון שההשוואה מתבצעת בעזרת קריאה פשוטה ל-lstrcmp בלי שום נסיון להסתיר או לסבך משהו, כל מה שצריך לעשות זה לשנות את ה-JNZ שאחריה ל-JMP.

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

אבל אז זה היה פשוט מדי, ורציתי להיות מקורי יותר. אז מה שעשיתי היה לשכתב (Inline Hooking) את lstrcmp שבתוך Kernel32 שתחזיר תמיד 0 (המחרוזות שוות). כל תהליך טוען את המודולים למרחב הכתובות שלו (באופן תאורטי לפחות), ככה שהשינוי השפיע רק על הקראק-מי (קוד מקור, לרשימת הפתרונות).

חשבתי שהייתי מקורי, עד שראיתי את הפתרון שהציע Zerith, משתמש אחר בפורום. הוא הפתיע את כולם בסיבוך של הפתרון שלו… הוא כתב דרייבר שעושה הוקינג להנדלר של ה-Page Fault (אפשר לקרוא על זה בוויקיפדיה, אבל מה שחשוב לנו הוא שכל פעם שמערכת ההפעלה צריכה קטע שלא נמצא בזיכרון בפועל, Page Fault קורה), שברגע שקורה Page Fault, אם הוא קוד הקראק מי, במקום לטעון את הקוד מהדיסק הוא מכניס בעצמו קוד שכבר פרוץ (שינוי של ה-JMP).

התלהבתי כשראיתי את זה, והחלטתי שאני חייב ללמוד את הנושא לעומק. אז התחלתי 🙂

המשך לקרוא

3

האם הלך לי המחשב?

 
פורסם בתאריך 1st מרץ 2011 ע"י SoleSoul

יש לי לפטופ נאמן ששמו  Thinkpad T61 8898-6dg.

שבוע שעבר, כשאמרתי לArchlinux שיכבה (sudo halt), הוא עשה את הפרוצדורה הרגילה, סיים את כל התהליכים והתכונן לכיבוי אבל ממש לפני הPOWER OFF הוא נתקע. לגמרי. אפילו הסמן הפסיק להבהב.

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

השורה המעניינת היא:

Watchdog detected hard LOCKUP on cpu 0

מה זה אומר? מה יכול לגרום לזה?

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

המשך לקרוא

9

הנדסה קרבית: שולים מוקשים

טכניקות לשליטה על תוכנות רצות בעזרת DLL Injection ו-Code Cave

פורסם בתאריך 28th פברואר 2011 ע"י vbCrLf

זה הוא הפוסט האינפורמטיבי הראשון שלי בבלוג הזה. Digital Whisper גליון מספר 18 שוחרר הערב, ובו המאמר הראשון (ואני מקווה שלא האחרון) שכתבתי עבורו. המאמר מדבר על הזרקת קבצי DLL לתוך תוכנה שרצה – אחת הטכניקות הכי כיפיות שאני מכיר. היא מאפשר שליטה מוחלטת בתוכנה שאליה אנו מזריקים (שבמאמר זה שולה המוקשים הוא הקורבן). אגב, אם כל מה שאתם רוצים זה לרמות הקישו xyzzy ואח"כ Shift-Enter ו-Enter בתוך שולה המוקשים ותהנו 🙂

זה הזמן להודות לצוות Digital Whisper – אפיק קסטיאל (cp77fk4r) וכל צוות העורכים והעורכת על המגזין הזה שתורם רבות לקהילה הישראלית.

הקדמה

במאמר זה אני רוצה להציג טכניקות מעניינות בשליטה על תהליך רץ ב-Windows, או במקרה שלנו- רמאות בשולה המוקשים. התוכנה שניצור תעצור את הזמן ותגרום לשולה המוקשים לגלות לנו איפה מוחבא כל מוקש, והכל בעזרת עריכות זיכרון פשוטות. כדי לעשות את זה נשתמש בטכניקה הנקראת הזרקת DLL. אנחנו נשתמש ב-Visual C++ (וכמובן שאפשר להשתמש בכל IDE ומהדר אחר) עבור בניית מזרק ו-DLL, נשתמש ב-OllyDbg וב-LordPE כדי לאסוף מידע ולבצע קצת עריכות בקובץ. וכמובן את שולה המוקשים של Windows XP. נדרש ידע בסיסי ב-OllyDbg, רצוי ידע ב-C++ (כדי להבין את הקוד).

המשך לקרוא

5

תאימות משחקים – Starcraft, Diablo II ל- Windows 7

 
פורסם בתאריך 25th פברואר 2011 ע"י SoleSoul

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

בשנה האחרונה כמעט כולם עברו ל Windows 7 ונוצרו כמה בעיות עם המשחקים Starcraft ו- Diablo II. שניהם משחקים ישנים יחסית (1998-2000) ומצויינים של Blizzard. בשני המשחקים קיימת תופעה של עיוות צבעים כאשר Windows Explorer פועל. אין הכוונה ל- Internet Explorer אלא לסייר הקבצים.  אנחנו הצלחנו לפתור את הבעיה בעזרת קובץ bat קטן ותוכנת עזר.

המשך לקרוא

3

ברוכים הבאים

 
פורסם בתאריך 25th פברואר 2011 ע"י SoleSoul

שלום כולם!

במשך זמן רב רצינו, שני אחים, לכתוב את החוויות והדברים החדשים שאנחנו לומדים בנושאי מחשבים.

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

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

העיקר, ללמוד ולהנות.

יהונתן (SoleSoul) ואורי (vbCrLf) להב