شروع داستان!
ابتدا از کشور های دیگه شروع شد، که به هر دلیلی بانک ها از اجرای نرمافزار هاشون روی گوشی های اندروید ROOT شده جلوگیری کردن (به بهانه امن نبودن این دستگاه ها)
بعد از گذشت سالها هنوزم بحث سر اینه که آیا کارشون درسته یا نه، ولی خب زورمون بهشون نمیرسه!
در کشور عزیزمون ایران هم بانک ها بعد سالها یهو پیبردن که گوشی روت شده امنیت نداره و باید جلوشو گرفت (مدیونین اگه فکر کنین اسکی رفتن!)
بعد از روت شدن اندروید!
فانکشن هایی در اختیار دیگر برنامه ها قرار میگیره تا روت بودن سیستمعامل رو چک کنن، همچنین فایل های جدید سیستمی ایجاد میشه و برخی فایل ها تغییر پیدا میکنن و البته نرم افزار های مدیریت سطح دسترسی مثل super su و تغییرات دیگری در سیستمعامل رخ میده که بحثش مفصله (تا همنجاش برامون اکتفا میکنه)
جلوگیری از تشخیص روت بودن (bypassing root detection)
هدف اصلیمون جلوگیری از دیده شدن تغییرات اعمال شده در سیستم عامل توسط نرمافزار های بانکیه.
1) ابتدا xposed framework رو از xda دانلود و نصب کنید (مراقب باشید، ابتدا گوگل کنید که xposed با گوشیتون سازگار باشه، البته خودش هنگام نصب بررسی میکه)
https://forum.xda-developers.com/showthread.php?t=3034811
2) اجراش کنید، از Menu به قسمت Download برید، RootCloak رو سرچ و نصب کنید، به قسمت Modules برید و فعالش کنید.
3) گوشی رو ریستارت کنید، میبینید که نرمافزارهای همراه "بانک انصار" و "همراه بانک ملت" بدون مشکل اجرا میشن و نمیتونن بفهمن گوشی روت شده.
ویرایش سورسکد نرمافزار های اندروید هنگام اجرا (Hooking and Patching Android Apps)
میرسیم به نرم افزار "رمز نگار ملت" که پارو فراتر گذاشته و هر روشی برای چک کردن روت بوده چپونده تو نرمافزارش، برای دور زدنش نیاز داریم class ها و method هایی از نرم افزار که root بودن رو چک میکنن پیدا کنیم و موقع اجرای برنامه hook بزنیم به حافظه نرمافزار و کاری کنیم این متد ها خروجی دلخواه مارو بدن، مثلا کاری کنیم متد isRooted مقدار خروجی false رو برگردونه!
دوباره از Menu به قسمت Download برید و اینبار Surrogate رو سرچ و نصب کنید، به قسمت Modules برید و فعالش کنید و نرم افزار رو اجرا کنید.
حالا باید apk نرمافزار بانک رو decompile کنید و تو سورسش متد های مزاحم رو پیدا کنید، من از قبل کلاس ها متد هارو براتون رو پیدا کردم و از خود نرمافزار surrogate خروجی json گرفتم.
https://www.dropbox.com/s/y366zsm9rq8well/surrogate.json
فایل بالا رو دانلود کنید (اگه تونستید import کنید تو surrogate، من ندیدم import داشته باشه، اگه پیدا کردین به منم بگین) با یک ویرایشگر متن در گوشی باز کنید و مانند تصویر زیر در نرمافزار rule تعریف کنید.
ذخیره کنید، حالا نرمافزار "رمز نگار ملت" رو اجرا کنید و لذت ببرید.
پیدا کردن این متد ها و ورودی، خروجی ها نزدیک یک روز وقت گرفت، دوست داشتم سورس نرمافزارشونم اینجا بزارم و توضیح بدم دقیقا چی کردن و چیا رو چک کردن ولی فرصت نشد.
نکته دیگه اینکه برای patch کردن نرمافزار های بانکی دیگه که با RootCloak جواب نگرفتین و مثل "رمز نگار ملت" پارو فراتر گذاشته بودن، برای راحتی کار میتونید از online apk decompiler ها استفاده کنید ولی خب خوندن سورس نرمافزار پای خودتونه، البته میتونید از منم کمک بگیرید، و نهایتا patch برای نرمافزار دیگر بانک هارو به این مطلب اضافه کنیم.
امیدوارم تونسته باشم با این مطلب دلِ کسی رو شاد کنم:)