تاریخ انتشار : جمعه 20 دی 1398 - 21:50 خبرنگار : محمد علی شکر خواب
کد خبر : 2539

چگونه روت بودن گوشی را مخفی کنیم؟

چگونه روت بودن گوشی را مخفی کنیم؟

مخفی کردن روت گوشی با دستکاری کد به صورت دستی امروزه بسیاری از اپلیکشین های موبایل مانند برنامه های مالی ، بانکی ، کیف پول پرداخت یا wallet بر روی دستگاه های موبایلی که به صورت روت(root) شده باشند کار نمی کند. همچنین از جایی دیگر برای نصب برخی برنامه های کاربردی یا حتی برای انجام آزمایش های تست نفوذ نیاز به ابزارهایی داریم که فقط با دسترسی روت قابل بهره برداری هستند. در این مقاله چگونگی “مخفی کردن روت گوشی” را یاد می گیریم.
روش های زیادی برای دور زدن یا بایپس کردن سطح دسترسی ریشه(Root) در برنامه های تحت سیستم عامل اندروید وجود دارد، اولین راه آنالیز کدهای استاتیک است که ما امروز در مورد آن صحبت خواهیم کرد و دیگری به صورت پویا با استفاده از frida که جز فریمورک xposed می باشد.
برای تست یک اپلیکشین اندروید از طریق مهندسی معکوس با تجزیه مجدد فایل APK ، پی میبریم که کدام روش از تکنیک ها برای شناسایی دسترسی به ریشه مورد استفاده قرار گیرد.
در زیر ابزارهای مورد نیاز برای دور زدن سطح ریشه کاربر به صورت دستی را مشاهده می کنید:
Apktool d2j-dex2jar jd-gui برنامه ویرایش متنی مثل Sublime مرحله ا..

چگونه روت بودن گوشی را مخفی کنیم؟

مخفی کردن روت گوشی با دستکاری کد به صورت دستی

امروزه بسیاری از اپلیکشین های موبایل مانند برنامه های مالی ، بانکی ، کیف پول پرداخت یا wallet بر روی دستگاه های موبایلی که به صورت روت(root) شده باشند کار نمی کند. همچنین از جایی دیگر برای نصب برخی برنامه های کاربردی یا حتی برای انجام آزمایش های تست نفوذ نیاز به ابزارهایی داریم که فقط با دسترسی روت قابل بهره برداری هستند. در این مقاله چگونگی “مخفی کردن روت گوشی” را یاد می گیریم.

روش های زیادی برای دور زدن یا بایپس کردن سطح دسترسی ریشه(Root) در برنامه های تحت سیستم عامل اندروید وجود دارد، اولین راه آنالیز کدهای استاتیک است که ما امروز در مورد آن صحبت خواهیم کرد و دیگری به صورت پویا با استفاده از frida که جز فریمورک xposed می باشد.

برای تست یک اپلیکشین اندروید از طریق مهندسی معکوس با تجزیه مجدد فایل APK ، پی میبریم که کدام روش از تکنیک ها برای شناسایی دسترسی به ریشه مورد استفاده قرار گیرد.

در زیر ابزارهای مورد نیاز برای دور زدن سطح ریشه کاربر به صورت دستی را مشاهده می کنید:

  • Apktool
  • d2j-dex2jar
  • jd-gui
  • برنامه ویرایش متنی مثل Sublime

مرحله اول: تجزیه فایل apk با استفاده از برنامه های apktools

apk-tools ویرایش فایل اندروید
چگونه روت بودن گوشی را مخفی کنیم؟

مرحله دوم: حالا از d2j-dex2jar برای تبدیل classes.dex به فایل jar استفاده می کنیم.

apk-tools ویرایشگر برنامه های اندروید
چگونه روت بودن گوشی را مخفی کنیم؟

مرحله سوم: jd-gui یک برنامه گرافیکی مستقل است که کدهای منبع جاوا از پرونده های “.class” را نمایش می دهد.

jd-gui وJava Decompiler
چگونه روت بودن گوشی را مخفی کنیم؟

مرحله چهارم: اکنون کلمات کلیدی مانند isDeviceRooted یا root و یا rootUtils و sys/ و system/ و یا superuser و… را جستجو کنید تا متدها و عملکردهای دقیق جاوا را به دست آورید.

D-GUI-isdevicerooted
چگونه روت بودن گوشی را مخفی کنیم؟

مرحله پنجم: در اینجا می توانیم ببینیم که JD-GUI کلاس هایی را با رشته “isDeviceRooted” مشخص شده است را پیدا کرد که ما کلاس ها را نادیده میگیریم و به کد جاوا می پردازیم.

مرحله ششم: پس از پیدا کردن کلمه کلیدی و کلاس دقیق سعی کنید منطق تشخیص ریشه را بررسی و درک کنید. همچنین در فایل های smali همان روشها و توابع را جستجو کنید.

مرحله هفتم: هنگامی که در بخش کلاس فایل smail تابع دقیق و یا روشی را پیدا کردید، مقدار بازگشتی را در تابع بررسی کنید. همیشه به خاطر داشته باشید که ما نیاز به بازگشت 0x0 به تابع i.e داریم. در زمانی که اپلیکشین بررسی کند که دستگاه روت شده است یا نه مقدار false را بر می گرداند. و زمانی که true را برگرداند ما از0x1 استفاده خواهیم کرد.

isDeviceRooted return False in smali
چگونه روت بودن گوشی را مخفی کنیم؟

مرحله هشتم: هنگامی که اپلیکشین برای isDeviceRooted چک شود مقدار false را بر می گردارند.

مرحله نهم: مورد دیگری نیز وجود دارد که در آن می توانیم فایل های smali را تغییر دهیم ، Superuse.apk را جستجو کنیم و اسم آن را به چیز دیگری تغییر دهیم.

  • Search for string Superuser.apk
    چگونه روت بودن گوشی را مخفی کنیم؟

جستجوی رشته Superuser.apk

تغییر اسم رشته Superuser.apk به anything.apk
چگونه روت بودن گوشی را مخفی کنیم؟

مرحله دهم: اکنون برنامه را مجدداً rebuild یا بازسازی کرده و با استفاده از apk-singer یک امضای گواهی سفارشی شده برای اپلیشکین ایجاد کنید.

مرحله یازدهم: برنامه را بر روی یک دستگاه روت شده امتحان کنید و عملکرد آن را ببینید.

نتیجه گیری

در این آموزش صرفا مراحل پیدا کردن کد شناسایی root دستگاه توضیح داده شده است و سعی کنید روند دقیق مراحل بالا را دنبال کنید تا به نتیجه مطلوب برسید.

نوشته چگونه روت بودن گوشی را مخفی کنیم؟ اولین بار در کالی بویز. پدیدار شد.

برچسب ها :

ناموجود
ارسال نظر شما
مجموع نظرات : 0 در انتظار بررسی : 0 انتشار یافته : 0
  • نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد.
  • نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • نظراتی که به غیر از زبان فارسی یا غیر مرتبط با خبر باشد منتشر نخواهد شد.