بررسی اولیه ابزار جیلبریک Pangu [اختصاصی اپل اپس ]

سلام خدمت شما دوستان عزیز, با عرضه شدن جیلبریک iOS 9.0 – 9.0.2 توسط گروه پنگو ممکن است برای خیلی ها این سوال پیش بیاید که آیا اصلا استفاده از این ابزار امن است یا خیر؟!

البته این گروه چینی قبلا نشان داده اند که در راستای امنیت دستگاه های اپلی کار میکنند, اما خوب بالاخره کار از محکم کاری عیب نمیکند.

pangu9-3

این ابزار در طی فرایند جیلبریک چندین فایل ایجاد میکند و چند برنامه نصب میکند که یکی از مهمترین آنها فایل pguntether است که در فولدر / که بالاترین سطح در iOS است قرار گرفته, معمولا روال کار به این شکل است که اگر کسی بخواهد کد مخربی بنویسد باید آن را در هنگام بوت شدن دستگاه اجرا کند, در اینجا تنها فایلی که توسط این ابزار اجرا میشود فایل pguntether است, پس اگر صحت این فایل تایید شود میتوانیم بگوییم در کل با یک جیلبریک سالم رو به رو هستیم و هیچ قصد و نیت دیگری در کار نبوده.

برای اینکار من پس از جیلبرک کردن دستگاه خودم شروع به بررسی فایل ها نمودم:

pangu9

فایل pguntether را با استفاده از برنامه jtool روی مکینتاش بررسی میکنیم. (این فایل به صورت یونیورسال نوشته شده و هم برای دستگاه های 32بیتی و هم 64بیتی قابل استفاده است.)

برای بررسی باینری 64بیتی از کلید ARCH=armv8 و برای بررسی باینری 32بیتی از کلید ARCH=armv7 استفاده میکنیم.

معمولا اگر کد مخربی در کار باشد در قسمتی که با رنگ سبز مشخص کردم کد های زیادتر و متفاوت تری را خواهیم دید علاوه بر این این فایل به هیچ عنوان اینکریپت (کد گذاری) نشده است و ما میتوانیم به تمام بخش های کد آن دسترسی داشته باشیم پس این موضوع به خودی خود نشانه خوبی است.

قسمتی که با رنگ قرمز مشخص کردم فایل های پیش نیازی هستند که برای اجرای این فایل باید اجرا شوند, چون اپل در iOS 9 کمی ساختار dylib ها را تغییر داده بعضی از این فایل ها بازنویسی شده اند که در آینده به بررسی آنها میپردازیم.

libsystem.B: بدون این فایل هیچ برنامه یا فایلی نمیتواند پیش نیاز های خود را فراخوانی کند, میتوان کار این فایل را مانند Kernel32+NtDll+MSVCRT در ویندوز و همچنین libc.so در لینوکس در نظر گرفت.
libc++: نشان میدهد که در این برنامه از c++ هم استفاده شده است.
libobjc و Foudation/CoreFoundation: نشان دهنده ی استفاده شدن از Objective C است.
IOKit: مهر تاییدی بر این موضوع است که عملیات پچ کردن کرنل توسط این فایل انجام میشود.

پس تا اینجای کار با کد مخربی رو به رو نیستیم, اما مشکلی که گروه پنگو دارد این است که علاقه شدیدی به پاک کردن صورت مسئله دارد! میپرسید یعنی چه؟

pangu9-2

در کار جیلبرک معمولا وقتی دسترسی روت (بالاترین سطح دسترسی) به دست می آید باید فایل مربوط به کرنل نیز پچ بشود تا در هر بار روشن شدن دستگاه ما بتوانیم دسترسی خود را حفظ کنیم, برای این کار باید آدرس مجموعه فایل هایی که قرار است اجرا شوند را در کرنل وارد کنیم که اگر موقعی هم خواستیم ازآنها استفاده نکنیم یا آن ها را آپدیت کنیم به راحتی بتوانیم این کار را انجام دهیم, ولی پنگو عادت به این کار ندارد و کد های مورد نظر را مستقیما در خود کرنل وارد میکند که این کار باعث میشود تا اگر مشکلی در کد نویسی وجود داشته باشد (که وجود دارد!) کرنل به اصطلاح پنیک (panic) کند یا بترسد که باعث ری استارت شدن دستگاه میشود. البته این مشکل خیلی کاربران عادی را آزار نمیدهد و بیشتر برنامه نویس ها با این موضوع درگیر هستند.

pangu9-1

پس در کل نتیجه میگیریم که تیم پنگو بار دیگر کار خود را به درستی انجام داده و ابزار مفیدی را ارائه کرده, ولی بهتر است برای جیلبرک عجله نکنید و کمی صبر کنید تا مشکلات احتمالی از بین بروند.