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

معکوس مهندسی برنامه های آندروید

ماهیت جاوا (زبان برنامه نویسی غالب برای برنامه های آندروید، به استثنای کد بومی) این است که کد به کد ماشین کامپایل نمی شود؛ آن را به یک فرمت متوسط که آماده است بر روی انواع سیستم عامل های سخت افزاری اجرا شود. در حالی که این اجازه می دهد تا قابل حمل  برای روی سخت افزارهای مختلف باشد،  در حال حاضر در APK این امکان برای استخراج فایل ها و بررسی فایل ها شامل xml و dex فایل ها و منابع مورد استفاده  برنامه های اندرویدی را میدهد.

در حالی که من این مباحث را پوشش نخواهم داد، ابزارهایی برای تجزیه فایل DEX (بایگانی کد) از APK به یک آرشیو JAR به طور گسترده در دسترس هستند. من پیشنهاد می کنم به APK خود خود نگاه کنید تا ببینید چه چیزی می تواند استخراج شود. این کمی شگفت آور است که می تواند  منابع تصویر به آسانی در آرشیو APK قابل مشاهده است و تنها با چند ثانیه کار، کد اصلی نیز دیده می شود، با نام متغیر و متدهای که استفاده شده  است.

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

برچسب‌ها , , , , , , , , , , , , , , , , , ,


دیدگاهتان را بنویسید

Want to see your ugly mug by your comment? Get a free custom avatar at Gravatar.