הדלפת HomePod: הבינו הכל על הטעות הגדולה ביותר של אפל מזה שנים!

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

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

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

במה שונה audioOS ממערכות הפעלה אחרות של Apple?

כשלעצמו, לא הרבה.זוהי מערכת המבוססת על הבסיס המשותף לכל מערכת ההפעלה: מערכת הפעלה ליבה. זה מפגיש את הליבה, בשם XNU (עבור XNU זה לא Unix), כמו גם כמה הרחבות. אפל אפילו מספקת מערכת הפעלה בקוד פתוח שמתבססת על היסודות האלה: דרווין. דרווין נמצא בלב ליבה של macOS, iOS, watchOS, tvOS ועכשיו audioOS. ניתן לעיין במקורות של קרנות אלה ב:https://opensource.apple.com.

מה בדיוק "דלף"?

מה שיצא קצת (הרבה) מוקדם מדי מאפלהוא עדכון OTA (אויר-האוויר).. ואכן, מאז iOS 5, אפל אפשרה למכשירי iOS לעדכן את עצמם. הם מורידים רק את ה"הבדל" בין הגרסה שהם פועלים עליה לבין גרסת היעד. זה מאפשר לך לחסוך רוחב פס, מקום בשרתים ומכשירים, ולבסוף להסתדר בלי מחשב (המפורסם והגדולללא מחשבהושק על ידיסקוט פורסטאלבמהלך הצגת iOS 5 לקהל מטורף, מותש מהצורך לעבור דרך iTunes לכל דבר ועניין).זה אותו מנגנון שפועל עבור tvOS ו-watchOS. מִלְבַד,ל'אפל ווטשניתן לעדכן רק באמצעי זה (למעט מרכזי תיקון של אפל שבהם יש להם קופסה מיוחדת להתממשקות עם יציאת האבחון של השעון, שהיא לא יותר מאשר גרסה של יציאת Lightning של האייפון/אייפד האהובים עליך). לכן, לא המערכת כפי שהורדה על ידי iTunes הגיעה לטבע, אלא חבילת OTA.

עדכוני OTA הראשונים עם iOS 5: אין צורך ב-Mac כדי לעדכן את האייפון שלך!

איך עדכון "פשוט" יכול לחשוף כל כך הרבה?

פשוט מאוד בגללמאז iOS 9, אפל הפכה את OTA זמין לא רק אתהבדליםבין שתי מערכות, אבל גם המערכת כולה. זה עורר סערה לא קטנה בתעשייה באותה תקופה. ואכן, מאז האייפון הראשון, אפל נהגה להצפין את כל רכיבי המערכת. מטעני אתחול, גרעינים, אפליקציות, הכל היה שם. כולל הלוגו של אפל בעת ההפעלה.טכניקות שונות הופיעו כדי לפענח נתונים אלה, הדורשות פגמים ברמה נמוכה במכשירעל מנת להשיג את מפתחות הפענוח. האחרון שיש לו פגם כזה הוא האייפון 4 (נמצא על ידי ז'ורז' הוץ, הלא הוא Geohot).

מאז ה-A5 עם האייפד 2, האייפון 4s וממשיכיהם, משטח ההתקפה הצטמצם לרמת תוכנה גרידא ולא עוד חומרה. ואכן, פגם ברמה נמוכה כל כך מאפשר לפתוח ולנצל לחלוטין את המכשיר (התקנת אנדרואיד באייפון 3G הייתה חוויה מעניינת, למשל). מאז iOS 10, אפל כבר לא מצפינה את טוען האתחול של מכשירי 32 סיביות כמו גם את הליבה (32 סיביות ו-64 סיביות), מה שאומר שהטכניקות הללו כמעט מיושנות היום.

כיצד התגלה עדכון OTA זה?

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

מעת לעת,המכשיר יעיין בקטלוג זה ויראה אם ​​עבור הדגם שלו, זמינה חבילה חדשה. כדי תמיד לפקוח עין על הקטלוג הזה, מפתח יצר אפליקציה, אתר אינטרנט וגם טוויטר בוט על מנת לסרוק אותו מעת לעת וליצור ציוץ אוטומטי כאשר מערכת חדשה יוצאת לשוק. במקרה זה, אפליקציה זו זיהתה מכשיר חדש, AudioAccessory1,1 המצויד במערכת לא ידועה, iOS 11.0.2.

ניתן לצפות באתר כאן:https://www.ipsw.me
בוט הטוויטר נמצא כאן:https://twitter.com/iOSReleases

ממה עשויה חבילת OTA?

חבילת OTA היא ארכיון ZIPשמכיל מניפסט, מטעני האתחול, קרנל, התוכנות הנחוצות לביצוע העדכון ואחרון חביב ארכיון עם כל מה שצריך לתקן בפנים. מה שמעניין אותנו כאן, במקרה של HomePod, הואהארכיון, המכיל את audioOS במלואו(זכור, זהו עדכון OTA "מלא"). לאחר חילוץ הארכיון הזה, audioOS מצאה את עצמה במכשיר הפשוט ביותר מול עיניהם החדות של חובבי התעסקות.

למה אודיו OS קלקל את ההפתעה של המכשירים החדשים הקרובים?

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

עבור macOS, אותו סיפור,לרשות המפתחים עומדות מסגרות ציבוריותופרטית. חלקם אפילו הגיעו מ-iOS בעוד שאחרים הלכו ל-iOS (מפתחים רבים גם משתוקקים שאפל תביא את UIKit, המסגרת המאפשרת ליצור יישומי iOS, ל-macOS).

ב-iOS, מאז iPhoneOS 3.1 (זה תאריך),כל המסגרות נאספות במטמון גדול הנקרא dyld[ מטמון משותף(לסיכום, מטמון משותף). מטמון זה ממוקם ב- /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armXX (v6 עבור iPhone, iPhone 3G, v7 עבור iPhone 3Gs עד iPhone 5c, 64 עבור iPhone 5s ומעלה).(] dyld הוא שם התוכנית האחראית על "הדבקת" ה-frameworks לקובץ ההפעלה הראשי. כאשר אפליקציה תושק, dyld תביא את כל מה שצריך כדי שהאפליקציה תתחיל מהמטמון.)

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

מדוע המסגרות הללו לא נמצאו בגרסאות הבטא של iOS 11, אם כן?

כי אפל מנקה טוב... באופן כללי. גרסאות הבטא של iOS 11 משוללות מכל דבר הקשור במישרין או בעקיפין למכשירים שעדיין אינם זמינים. כאשר אפל מרכיבה מבנה[ של בטא של iOS, אלמנטים רגישים נמחקים אוטומטית. (בנייה היא הרכבה של כל מה שיוצר תוכנה כדי לייצר את המוצר המוגמר. מכלול זה מוטבע במספר. לדוגמה, הבטא העדכנית ביותר של iOS 11 היא iOS 11.0 build 15A5327g.)שם, כאשר מהנדסי אפל הרכיבו את המבנה הזה של audioOS, לא בוצע ניקוי מכיוון שהגרסה הזו מעולם לא הייתה צריכה למצוא את דרכה לטבע, לפחות בשלב מוקדם כל כך במחזור הפיתוח של HomePod.

כיצד אנו מנתחים מוצר מוגמר?

ישנם מספר פתרונות רטרו-הנדסה (או הנדסה לאחור, האומנות להתחיל מהתוצאה הסופית כדי להבין את מקורה).אחד הראשונים והפשוטים ביותר הוא ניתוח מחרוזות תווים.(מתוך הטקסט). אין צורך בידע מיוחד. בעת התקנת Xcode, כלי שירות CLI בשםמחרוזותמותקן גם. כלי זה יחלץ את כל מחרוזות התווים מקובץ בינארי. פשוט קרא את התוצאה כדי למצוא תגליות טובות (זיהוי פניםפרל מזההזוהה על ידי טכניקה זו). ([ CLI מייצג Command Line Interface, או Command Line Interface. לכן זוהי תוכנית לביצוע בטרמינל.)

לדוגמה, ב-Terminal ב-Mac עם Xcode, הקלד

]code[strings /System/Library/PrivateFrameworks/FinderKit.framework/FinderKit]/code[

... ולהתפעל מהתוצאה :).

יש גםטכניקות מתוחכמות יותר לקביעת הקוד המקורי של קובץ בינארי. זה נקרא דקומפילציה (לא להתבלבל עם פירוק המורכב ממתן הקוד בשפת assembly, קרוב יותר לשפת המכונה המשמשת מעבדים). עליך כמובן להיות בעל ידע מוצק כדי להבין את התוצאה ואת רצף ההוראות שהתקבלו כך. כלי עזר נהדר עבור זה הואקוֹטֵף, תוכנה בתשלום שפותחה בצרפת. זה עובד על macOS ו- Linux. הוא מייצר תוצאות טובות מאוד וקרוב מאוד לסטנדרטים של אפל מבחינת השימוש בו. הודות להופר התגלו פונקציונליות ה-GSM של Apple Watch הבא, למשל.

איזה קרדיט צריך לתת לגילויים האלה?

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

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

אבל למה מישהו לחץ על הכפתור האדום הגדול כדי לשחרר את עדכון ה-OTA הזה לטבע?

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

תיאוריה אחרת תהיה שהמהנדסים היו מוסחים במשימותיהם על ידי פוני שעובר במעבדות המו"פ, אבל מטבע הדברים אף אחד לא יעז לאשר את המידע הזה ^^.

Related Posts