به نظر خودم ، توی دنیای مجازی و کلا اینترنت ، امنیت ، هیچوقت تضمین شده نیست . یعنی هرچقدر هم که موارد امنیتی رو رعایت کنی ، بازم ممکنه که مورد حمله واقع بشی . حتی ممکنه از یه رابطه احساسی ، یه حمله سایبری شکل بگیره ! بگذریم ، کلا هیچ چیزی صد در صد امن نیست ، ولی میتونیم کار رو مشکل کنیم . اول از همه ، به سایت زیر برید و فایل apk برنامه خودتون رو بهش بدید و upload and decompile رو بزنید تا ببینید برنامه تون تا چه حد امن هست و کدها رو نشون میده یا نه یا اگه نشون میده چقدر خوانا یا ناخوانا هست :

تست امنیت فایل apk

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

توی عکس بالا ، یه جاهایی رو خود اندروید استودیو کدگذاری کرده ولی بازم انگاری کافی نیست . واسه اینکه این کدگذاری رو بیشتر کنیم یه راه خیلی ساده پیش پامون هست ( مثلا اینکه بریم رو در روی دخترهمسایمون وایسیم و چشم تو چشم بگیم حرف حسابت چیه ؟! این شماره لعنتی رو بگیر دیگه ! ) . واسه افزایش امنیت بیشتر ، توی پوشه app و فایل build.gradle یه قسمتی هست که این شکلی هست : 

دقت کنید که توی کدهای بالا ما با قسمت relase کار داریم ( ممکنه یه قسمت debug هم کدهاش مثه کدهای بالا باشه که کارش نداریم ، میتونیم اونم تغییر بدیم ولی در ادامه میگم که چرا لازم نیست ) . خلاصه توی کدهای بالا ، قسمت Proguard یه چیز امنیتی هست که اندروید استودیو به همراه SDK گوگل استفاده میکنه و دستش درد نکنه امنیت رو بالا برده . ولی قسمت minifyEnabled که false هست رو باید به true تغییر بدیم 

با اینکار امنیت برنامه مون بالاتر میره ( فقط یه کوچولو خروجی گرفتن وقت بیشتری رو میگیره ) . وقتی تغییرات بالا رو اعمال کردیم و پروژه رو مجددا sync کردیم ، باید خروجی بگیریم . ما واسه خروجی گرفتن دو راه داریم . یکی اینکه بیایم خیلی ساده از منوی Build گزینه Build apk رو بزینم که اینجوری اصطلاحا نسخه debug شده رو به ما میده که کار عاقلانه ای نیست که اونو منتشر کنیم . و راه اصلی و راه دوم ، اینه که از منوی Build گزینه Generate Signed Apk رو بزنیم و اونجا رمز و امضای خودمون رو بهش بدیم و اونموقع خروجی بگیریم ازش ، که به اون فایل apk خروجی ، میگن نسخه relase شده . ( که ما تنظیمات رو هم روی همین relase اعمال کردیم و نه روی debug ) .

وقتی که فایل apk جدید رو به اون آدرس سایت اول مقاله بدیم و decompile کنیم کدها اینجوری میشه : 

که کدهای بالا واقعا ناجور هستن ! و اینجوری میشه راه هکرهای عزیز رو یه کم سخت تر کرد

امیدوارم که از این آموزش هم خوشتون اومده باشه 

افزایش امنیت برنامه های اندروید

مجتبی صابری


همه عشقم برنامه نویسی هست | t.me/kotlin9


پیمایش نوشته


پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *