بیایید از ابتدا شروع کنیم: سیستم Face ID چگونه به نظر میرسد و چگونه کار میکند:


از نظر سختافزاری، این سیستم از دو دوربین – IR و RGB – و دو نوع ساطع کننده IR – نور پسزمینه معمولی و یک پروژکتور نقطه تخصصی – تشکیل شده است.
پوستهی آیفون X را جدا میکنیم، همهی موارد اضافی را برمیداریم و بلوک دوربینهای جلو را به صورت برهنه میبینیم. نور پسزمینهی IR بهطور جداگانه وجود دارد، اما بقیهی اجزا در دستان ما هستند – آنها بهطور ایمن در این قاب فلزی ثابت شدهاند.
در اینجا دوربین IR و پروژکتور نقطههای IR را میبینیم. دقیقاً روی این زوج مادون قرمز است که عملکرد سیستمهای TrueDepth و FaceID متکی است. و قهرمان اصلی داستان امروز – دقیقاً پروژکتور نقطهها است.
اصل مختصر عملکرد FaceID

پروژکتور نقطههای IR دقیقاً همان کاری را انجام میدهد که نامش میگوید – به دستور، دهها هزار نقطه مادون قرمز را به دنیای اطراف پرتاب میکند. و دوربین IR، که این دستور را میدهد، بلافاصله از این نقاط عکس میگیرد.
با دانستن مشخصات نوری پروژکتور، دوربین و فاصله بین آنها، ISP در پردازنده آیفون میتواند تخمین بزند که هر نقطه چقدر دور است. من خودم ریاضیات این فرایند را تا انتها درک نمیکنم و مهندسی معکوس آن دشوار خواهد بود – اما گرفتن یک سری تصاویر با الگوهای مختلف نقاط، امکان حدس زدن بسیار دقیق موقعیت هر نقطه جداگانه را فراهم میکند و به این ترتیب یک نقشه عمق کامل ایجاد میکند. بدون LIDAR و بدون ToF.
دقیقاً نقشه عمق است که به FaceID اجازه میدهد فریب عکسهای چاپ شده روی پرینتر را نخورد. عکس مسطح است – اما صورت برجستگی دارد، و برای FaceID نقشه توپوگرافی چهره مهمتر از رنگ آن است.

با این حال، سیستم به رنگ صورت نیز نگاه میکند. دوربین IR از نظر سختافزاری با دوربین RGB همگامسازی شده است و هر دو دوربین بهطور همزمان از صورت عکس میگیرند. و همچنین آیفون میتواند نه تنها پروژکتور IR، بلکه نور پسزمینه IR را نیز چشمک بزند – و کل صورت را در طیف IR عکس بگیرد.
نقشه عمق به خودی خود نسبتاً خام است، و تجزیه و تحلیل بافت صورت در تصاویر IR و RGB توسط شبکه عصبی، هم امکان دقیقتر کردن عمق و هم درک بهتر جزئیاتی مانند حالات چهره را فراهم میکند – هم در روشنایی روز و هم در تاریکی.
اگر این سیستم برای شما آشنا به نظر میرسد، احتمالاً به این دلیل است که مستقیماً از Kinect از Xbox 360 کپی شده است. فقط آن Kinect یک دستگاه غولپیکر بود، اما در اینجا آن را به اندازه بریدگی در صفحه نمایش گوشی هوشمند کاهش دادهاند.
این کار توسط شرکت PrimeSense انجام شد، که فناوریهای اساسی Kinect 1 را توسعه داد – و سپس توسط اپل به قیمت 350 میلیون دلار خریداری شد. بهطور کامل – با تمام حق ثبت اختراعها، پیشرفتها، کارمندان و سایر متعلقات.
بررسی اجزای داخلی پروژکتور

به مهندسی معکوس عمیقتر میرویم: پروژکتور نقطهها را از بلوک دوربینهای آیفون X بیرون میآوریم و آن را به اجزای سازنده اش تجزیه میکنیم. از یک کابل FPC، یک مجموعه ساطع کننده و یک مجموعه نوری تشکیل شده است.
کابل کاملاً غیرفعال است، و بنابراین کماهمیت است. به مجموعه ساطع کننده لحیم میشود و سیگنالها را به کانکتور FPC میبرد، که به مادربرد آیفون X متصل میشود. کانکتور با گام 0.35 میلیمتر، سفارشی (اپل عوضی)، و به نظر میرسد که توسط شرکت JAE ساخته شده است.
به اجزای اصلی اپتیک نگاهی میاندازیم:

و ببینیم که داخل ساطع کننده چه چیزی قرار دارد:

و نقش MOSFET و تراشه مرموز برای من جالب شد. چرا؟ زیرا مشخص نیست که آنها اصلاً در آنجا چه کار میکنند.
اولین گزینه واضح – تراشه مرموز حافظه برای شماره سریال و دادههای کالیبراسیون است. تراشه یک رابط I2C معمولی برای حافظه دارد و قطعاً حافظه در داخل وجود دارد. پروژکتورها شماره سریال دارند که با آنها میتوان از جمله تاریخ تولید را تعیین کرد – و اگر پروژکتور بهطور کامل جایگزین شود، آیفون عدم تطابق شماره سریال را میبیند و از کار با جایگزین امتناع میکند. اما معمولیترین I2C EEPROM در یک بدنه کوچک WLCSP-4 یافت میشود – و حتی اگر خیلی بخواهید، میتوان از بازنویسی آن جلوگیری کرد. بنابراین، تراشه نمیتواند فقط یک حافظه ساده باشد. قطعاً کار دیگری انجام میدهد.

گزینه دوم واضح – تراشه مرموز درایور لیزرها است، و MOSFET – کلید آن. و بله، MOSFET واقعاً توسط تراشه کنترل میشود. فقط تراشه نمیتواند چیزی حیاتی مانند درایور لیزر باشد.
اولاً MOSFET در گسست کاتد مشترک مجموعه لیزر قرار دارد – و 4 آند جداگانه مستقیماً به کابل میروند و به اعماق برد چند لایه آیفون میروند. و ثانیاً من در حین جمعآوری دادهها برای مهندسی معکوس، به دستورالعملهای مختلفی از تعمیرکاران چینی برخوردم.

آنها مستقیماً ماهیت موضوع را روشن نکردند، اما در بسیاری از این دستورالعملها گفته شده بود: برای تعمیر یک پروژکتور “خراب”، باید آن را جدا کرد، MOSFET را برداشت و با یک جامپر بین درین و سورس جایگزین کرد. پروژکتور در نتیجه با یک جامپر در داخل کار خواهد کرد و عملکرد FaceID بازیابی خواهد شد. و از آنجایی که پروژکتور با جامپر به جای MOSFET به طور عادی کار میکند، پس این MOSFET آنجا چه کار میکرد؟
و به ذهنم رسید: نکته تعمیر در همین بود. MOSFET توسط تراشه کنترل میشود – بنابراین به خواست تراشه میتواند مدار تغذیه لیزر را قطع کند و به این ترتیب پروژکتور را خراب کند. و این تعمیر این گسستگی را برطرف میکند.
چه اسمی بر تو نهادهاند
از آنجایی که مشخص شد تراشه مرموز همراه با MOSFET مانع عملکرد عادی پروژکتور میشود، این سؤال پیش میآید – چرا این کار را انجام میدهد؟ چرا تراشهای در پروژکتور قرار میدهند که پروژکتور را از بین میبرد؟
برای پاسخ، به فریمور بلوک ISP در پردازنده آیفون رفتم – دقیقاً همان چیزی است که از طریق I2C با سنسورهای دوربین و پروژکتور صحبت میکند.
ابتدا تصویر فریمور iOS 15 را برای آیفون X، جدیدترین نسخه، دانلود کردم. تصاویر فریمور برای آیفون – اساساً فایلهای zip هستند. در داخل، فریمور ISP مورد نظر را پیدا کردم – به شکل فایل Firmwareisp_bniadc-nike-d22.im4p
. از فایل فشرده im4p یک باینری استخراج شد، در قالب Mach-O با کد AArch64 در داخل. Mach-O، برخلاف “تصویر فریمور معمولی برای میکروکنترلر ناشناخته” – یک قالب مستند فایل اجرایی است، شبیه به PE یا ELF. هیچ حدس و گمانی در مورد ساختار فایل، معماری پردازنده یا آدرسی که کد باید در آن بارگیری شود، وجود ندارد. فقط فایل را در Ghidra میاندازید و همهچیز خودبهخود سر جای خودش قرار میگیرد. لذتبخش است.

سپس غریزه کار خود را کرد و تصمیم گرفتم فریمورهای قدیمیتر را بررسی کنم. و در تصویر فریمور iOS 13 فایل adc-nike-d22 را پیدا کردم. حتی اندازه آن تقریباً مشابه بود. فقط در فریمور جدید کد بیشتری وجود داشت – و در فریمور قدیمی کد کمتری وجود داشت، اما در عوض نمادها وجود داشت. تمام نامهای توابع سر جای خود بودند. همیشه نسخههای قدیمی را بررسی کنید!
در فریمور ISP اطلاعات زیادی وجود دارد، از جمله اینکه آیفون چگونه از طریق I2C با تراشههای مختلف ارتباط برقرار میکند – با سنسورهای دوربین، با PMU دوربین، با تراشههای کنترل فلاش و فوکوس خودکار. از همان جا، با تشکر از نمادها، удалось извлечь «имена» разных составных частей системы – و بخشی از آنها با مطالب سایر بخشهای فریمور، و همچنین از سایر مهندسان معکوس و تعمیرکاران مطابقت دارد. به عنوان مثال، سنسور دوربین IR – STMicroelectronics VD56G0 “Savage” است. کل سیستم TrueDepth در کد “Pearl” نامیده میشود، و به ماژولهای اصلی آن نام شخصیتهای “رومئو و ژولیت” داده شده است. پروژکتور IR “رومئو”، دوربین IR – “ژولیت” و نور پسزمینه IR “روزالین” نامیده میشود. درایور لیزرها، که روی مادربرد آیفون قرار دارد و لیزرهای داخل “رومئو” و لیزر داخل نور پسزمینه “روزالین” را تغذیه میکند، “ریگل” نامیده میشود.
تراشه مرموز مورد نظر ما؟ آن هم نام دارد. در کد “MamaBear”، مخفف “MB” نامیده میشود، و به نظر میرسد که عملکرد آن بسیار ساده است. روی گذرگاه I2C قرار دارد. دادههای OTP، از جمله شماره سریال و کالیبراسیونهای مختلف را در خود ذخیره میکند. با دستور MOSFET را روشن و خاموش میکند. و همچنین … ظرفیت را اندازهگیری میکند؟ دما نیست، به ترمیستور NTC اصلاً متصل نیست، بلکه دقیقاً ظرفیت. فقط ظرفیت چه چیزی؟
مرگ غمانگیز رومئو

پاسخ این سؤال را دوباره نقشههای چینی به ما کمک میکنند. در نقشه JCID مشخص است که در ماژول “رومئو” سه پین برای اتصال مجموعه ساطع کننده به مجموعه نوری وجود دارد. یکی – زمین، و دو تای دیگر مستقیماً به تراشه “MamaBear” میروند. این پینها از طریق یک آداپتور ویژه در کنار مجموعه نوری عبور میکنند و به بالای آن میرسند – به عنصر نوری پراش.
شکافنده پراش پرتو غیرقابل کنترل است و به جریان واکنش نشان نمیدهد. اما ظرفیت دارد. و با استفاده از آن سه خط، میتوان این ظرفیت را اندازهگیری کرد. اما چرا؟
مسئله این است که این شکافنده پراش چه نقش مهمی ایفا میکند. الگوی نقاط مورد استفاده پروژکتور، با موقعیت لیزرهای کوچک-“چاهک” روی کریستال VСSEL تعیین میشود. و سپس این الگو توسط عنصر پراش تکثیر میشود، که از یک پرتو نور صدها پرتو نور میسازد.

و به این معنی است که اگر این عنصر پراش جدا شود، چه اتفاقی میافتد؟
پرتوها شکافته نخواهند شد. به جای صدها پرتو لیزر، یک پرتو خواهد بود – اما صد برابر قویتر. و این به هر حال لیزر است. لیزر مادون قرمز خطرناکتر از لیزر قرمز است، زیرا انسان آن را نمیبیند – و بنابراین حتی از منبع نور خطرناک و قدرتمند نیز غریزی چشم برنمیدارد. و شانس غیرصفری وجود دارد که الگوی مشخصه نقاط در این حالت در شبکیه کاربر سوخته شود.
برای جلوگیری از این امر، تراشه قاتل مورد نیاز است. پس از روشن شدن، بهطور مداوم ظرفیت عنصر پراش را زیر نظر دارد – و اگر عنصر شکسته یا آسیب دیده باشد، ظرفیت از حد مجاز فراتر میرود، و تراشه بلافاصله MOSFET را قطع میکند و تغذیه VCSEL را قطع میکند. و از آنجایی که عنصر در بالای مجموعه نوری قرار دارد، آسیب رساندن به ضربه به بقیه مجموعه بدون شکستن آن و مختل کردن تماس تقریباً غیرممکن است.
پس از خاموش شدن اضطراری لیزر، تراشه یک پرچم در OTP خود میسوزاند، که پروژکتور را به عنوان معیوب نشان میدهد – و به این معنی است که تغذیه قطعشده برای همیشه قطعشده باقی میماند. هیچ دستوری از ISP دیگر بر آن قدرت نخواهد داشت. MOSFET همیشه بسته خواهد بود، و پروژکتور دیگر هرگز کار نخواهد کرد.
تراشه “MamaBear”، همانطور که نامش نشان میدهد – یک تراشه محافظت است. این یک “کلید کشتار” برای توقف اضطراری لیزر است. او پروژکتور را میکشد تا اجازه ندهد دستگاه لیزر آسیبدیده به چشمان کاربر بتابد. و ماژول “ژولیت”، که بدون “رومئو” همتای خود باقی میماند، معنای زندگی را از دست میدهد – و کل سیستم TrueDepth از کار میافتد.
روزمرگی پرزحمت تکنوکشیشان
اما این طرح محافظتی ایرادی دارد. مسئله این است که پروژکتور نقطه در لبه بالایی دستگاه و در کنار بلندگو قرار دارد. اگر مایع به داخل آیفون نفوذ کند، یکی از رایجترین مکانها برای این کار – دقیقاً همانجاست. و سنسورهای خازنی به مایعات رسانای جریان حساس هستند. بنابراین اغلب اتفاق میافتد که FaceID پس از افتادن دستگاه در آب خراب میشود – حتی اگر نفوذ آب حداقل باشد و هیچ آسیب دیگری وجود نداشته باشد. فقط “رومئو” وضعیت را اشتباه فهمیده است و بیهوده روسکومنادزور را انجام داده است.
چنین دستگاههایی به تعمیرگاه برده میشوند. اغلب به تعمیرگاه غیر رسمی. و از آنجایی که آیفون شماره سریال قطعات یدکی را بررسی میکند (سلام، اپل)، پس نمیتوان کل بلوک دوربین را با یک بلوک کارکرد از اهداکننده عوض کرد. تلفن بلوک جدید را پس خواهد زد، و FaceID باز هم کار نخواهد کرد. بنابراین، باید به نحوی قدیمی را تعمیر کرد. اما چگونه میتوان پروژکتوری را “احیا” کرد که خودش را عمداً از کار انداخته است؟
تولیدکنندگان ابزارهای غیر رسمی برای تعمیر، برای این کار مجموعه کاملی از آیینهای مختلف را ابداع کردهاند. و تکنوکشیشان تعمیرکار راستدست، با اعتقاد راسخ به آنها عمل میکنند، و جراحی میکروسکوپی این سیستم نوری پیچیده و کالیبرهشده را انجام میدهند. راستی دستها غیرقابل تصور است – اجزای داخل به اندازه چند میلیمتر هستند، و اپتیک بسیار حساس است. اگر کالیبراسیون به دلیل مداخلات جراحی بیش از حد از بین برود، سیستم کار نخواهد کرد. ابزاری برای کالیبراسیون مجدد نرمافزاری وجود ندارد (سلام، اپل) – یا راهی برای رسیدن به پارامترهای اصلی پیدا خواهید کرد، یا بدون FaceID خواهید ماند.

این چگونه کار میکند؟ خب، اول از همه باید دادههای OTP را از تراشه اصلی “MamaBear” خواند.
دادهها حتی اگر پروژکتور خود را معیوب بداند، قابل خواندن هستند. برای خواندن دادهها، چینیها برنامهریزهای “تعمیر” ویژه میسازند – که با مجموعههایی از کانکتورهای آداپتور عرضه میشوند، و با طیف کاملی از اجزای مختلف از مدلهای مختلف آیفون، از جمله پروژکتورها کار میکنند.
و سپس باید دو کار انجام داد – با MOSFET قطعکننده تغذیه کنار آمد، و تراشه محافظت اصلی را جایگزین کرد. و در اینجا روشهای مختلف زیادی وجود دارد.

به عنوان مثال، میتوان به جای MOSFET جامپر انداخت، همانطور که در عکس بالا در مقاله نشان داده شده است، و تراشه “MamaBear” را جایگزین کرد، با جدا کردن کابل FPC اصلی و جایگزینی آن با یک کابل ویژه با تراشه فریب چینی.
تراشه اصلی “MamaBear” در این حالت میتواند در داخل بماند، و بیاختیار فریاد بزند که پروژکتور به هیچ وجه نباید کار کند. اما دیگر MOSFET برای خاموش کردن اجباری پروژکتور ندارد، و آیفون از طرف خود فقط تراشه چینی را میبیند – که کپی دادههای اصلی پر شده توسط برنامهریز را میدهد، و گزارش میدهد که پروژکتور دقیقاً سالم است.

یا میتوانید تراشه “MamaBear” را بهطور کامل بیرون بکشید، و جایگزین چینی دو در یک را در جای اصلی آن قرار دهید – هم کنتاکتهای MOSFET را میبندد، و هم کپی دادههای OTP را به تلفن میدهد.

و همچنین یک گزینه با حداقل لحیمکاری وجود دارد. “آداپتور” با تراشه فریب، که بین کابل اصلی و مادربرد آیفون قرار میگیرد.
مشکل MOSFET را حل نمیکند، اما چینیها رویکردی بدیع برای آن پیدا کردهاند، با ساخت برنامهریزهای “ولتاژ بالا”.
میدانید، چگونه میتوان انواع ATtiny را با استفاده از یک برنامهریز ولتاژ بالای ویژه “از حالت آجر خارج کرد” و دوباره نوشت؟ اینجا وضعیت کاملاً متفاوت است. برنامهریز ولتاژ بالای چینی بهطور وحشیانه و برگشتناپذیر MOSFET داخل پروژکتور را به اتصال کوتاه بین درین و سورس “برنامهریزی” میکند.
در مرحله آخر تعمیر، دوباره پروژکتور را به برنامهریز وصل میکنیم، و دامپ ذخیرهشده در مرحله اول را در آن میریزیم. و پروژکتور آماده کار است، خود را به عنوان اصلی و اصلاحنشده نشان میدهد.
همه این وسایل مختلف توسط فروشندگان مختلف تجهیزات تعمیر ساخته و ترویج میشوند. انواع تراشههای فریب فقط با برنامهریزهای “اصلی” کار میکنند، و در برنامهریزها اغلب ویژگیهای DRM مانند اتصال به حساب و تعداد محدود “تعمیر” وجود دارد، که برای پر کردن آنها باید پول پرداخت کرد.
آیا تعمیرکاران میدانند که آنها با تعمیر خود سیستمی را که اپل برای محافظت از چشمان کاربر طراحی کرده است، بهطور کامل از بین میبرند؟ در واقع نه. آنها مهندس معکوس نیستند – آنها جادوگر هستند. درکی از اصول کار ندارند. آنها آیینها و نتایج دارند، و این برای آنها کافی است. و مهندسان معکوس حیلهگر از چین، اسرار خود را با اکراه با عموم به اشتراک میگذارند. آنچه که من در این مقاله شرح دادم، به طور کامل فقط برای مهندسان اپل و ده چینی “در جریان” شناخته شده است. و من. و تو، حالا.
چرا اپل بیرحم است
میدانید، من نمیتوانم مهندسان اپل را به خاطر اینکه “کلید کشتار” آنها بیش از حد فعال است و پروژکتورهایی را که هنوز میتوانستند کار کنند، خراب میکند، خیلی سرزنش کنم. لیزرها – موضوع خطرناکی است، و ایده محافظت از کاربر در برابر “بدترین سناریوها” کاملاً سالم است. اگرچه اجرای این حفاظت نیاز به اصلاح دارد.
اما سیاست اپل در مبارزه با تعمیرات غیر رسمی – بدترین همه شرها است. اگر بلوکهای TrueDepth را بتوان به راحتی از دستگاهی به دستگاه دیگر بدون توجه به شماره سریال تعویض کرد، در آیینهای وحشتناک و منحرف تعمیر عملاً هیچ معنایی وجود نداشت. چرا با لحیمکاری میکروسکوپی شکنجه کرد و با برنامهریزها رقصید، اگر میتوان از یک “اهداکننده” دیگر با صفحه نمایش شکسته یک بلوک TrueDepth کاملاً کارآمد برداشت، آن را در تلفن مشتری قرار داد، عملکرد را بهطور کامل بازیابی کرد و با خیال راحت زندگی کرد؟ برای تعمیرکاران این کار سادهتر بود، و برای صاحبان دستگاهها – ایمنتر.
اما تاریخچه رفتار ضد تعمیر زشت اپل به وضوح نشان میدهد که این اتفاق نخواهد افتاد. خب، مگر اینکه در ایالات متحده یا در اتحادیه اروپا انواع جنبشهای “حق تعمیر” اتصال قطعات یدکی با شماره سریال را غیرقانونی اعلام کنند. و این اکنون ممکن است. در شوخی که اتحادیه اروپا ویژگیهای مفیدتری را نسبت به اپل به مدلهای جدید آیفون اضافه میکند، سهم بسیار زیادی از حقیقت وجود دارد. بنابراین تحولات قانونی را پیگیری خواهیم کرد.
مقاله از زبان روسی ترجمه شده است. نویسنده مقاله: acc0unt. ما تلاش کردیم تا حد امکان در ترجمه، سبک و عبارات اصلی نویسنده را حفظ کنیم.