نحوه حفاظت از برنامه در برابر کپي غيرمجاز

سلام دوستان عزیز در این سری از آموزش برنامه نویسی اندروید به نحوه حفاظت از برنامه در برابر کپي غيرمجاز می پردازیم هرچقدر شما ایده جالبی داشته باشید و خیلی هم شیک و تمیز برنامه را به اتمام برسانید نیاز دارید  که اپلیکیشن خود را کد کنید و مانع از مهندسی معکوس (reverse-engineering) جلوگیری کنید. البته هیچ وقت یک ادم تمامی بخش های امنیتی رو نمی داند و هر چقدر شما در بخش امنیت افرادی هستند که به قول گفتنی اپ شما را کرک کنند بهترین کار ایجاد obfuscation (مبهم کردن) با استفاده از ابزار ProGuard است . شاید بپرسید Proguard چیست ؟
proguard یک کلاس آزاد جاوا است که optimizer (بیهنه ساز کننده) , preverifier (تاییئد کننده) shrinker  و obfuscator (مبهم سازی) وجود دارد.proguard یک کلاس بسیار کاربردی است که کلاس های استفاده نشده فیلد ها  متود ها و هر چیزی که در برنامه استفاده نشده باشد را تشخیص و حذف می کند. از کار های دیگه که proguard انجام می دهد تغییر نام کلاس ها , متد ها و بهینه سازی  bytecode ها برنامه است
اگر بخواهیم Proguard را دقیق تر بررسی کنیم باید سه عبارت زیر را بررسی کنیم.
Shrinker :تشخیص و حذف کلاس ها و فیلد ها  متود ها و ویژگی هایی (attributes) که در برنامه از آن استفاده نشده است.
Optimization : آنالیز کردن و بهینه سازی bytcode های متد شما.
Obfuscation : تغییر نام کلاس ها فیلد ها متود ها  و به جای اسم های خودشان از اسم های تغییر داده شده استفاده می شود.
 
نحوه فعال سازی Proguard در اندروید استودیو
وارد فایل Build.Gradle بخش moudle :app وارد شوید در بخش buildTypes باید کد های زیر را قرار دهیم ممکن است این بخش وجود داشته باشد ولی شما باید تغییرات را اعمال کنید.

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

مطالعه بیشتر