انجمن سایت کلیدستان



جلوگیری از بکاپ APK (گرفتن Back up از فایل APK برنامه اندروید)زمان کنونی: ۱۳۹۵/۰۹/۱۳، ۱۲:۲۹ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: takstar
آخرین ارسال: admin
پاسخ 2
بازدید 211

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از بکاپ APK (گرفتن Back up از فایل APK برنامه اندروید)

جلوگیری از بکاپ APK (گرفتن Back up از فایل APK برنامه اندروید)

#1
Exclamation 
سلام
جطوری میشه از بک آپ گرفتن یا استخراج فایل نصبی یک برنامه اندروید جلوگیری کرد ؟؟ Angry

مثلا ، چندتا از برنامه هایی که پرداخت درون برنامه ای دارن ، بعد پرداخت با AppSaver ، zapya و ... تست کردم ولی فایل نصبی نمونه اول رو داد ! Cool

حالا برنامه ای که از اول پولی باشه ! چطوری میشه از تکثیر با این app ها جلوگیری کرد ؟ Sad
پاسخ

جلوگیری از بکاپ APK (گرفتن Back up از فایل APK برنامه اندروید)

#2
سلام.
 لطفا دوستان در مورد هر بخشی از صحبت های بنده که آن را صحیح نمی دانند (یا حداقل موارد جدیدی ارائه شده که در آنها صادق نیست)، تذکر بدهند.

(۱۳۹۵/۰۴/۲۳, ۰۶:۴۱ ب.ظ)takstar نوشته: جطوری میشه از بک آپ گرفتن یا استخراج فایل نصبی یک برنامه اندروید جلوگیری کرد ؟؟ Angry

مشخصه زیر را در فایل AndroidManifest.xml تنظیم کنید :

کد پی‌اچ‌پی:
allowBackup="false" 

این مشخصه اگر برابر false باشد، آنگاه کاربر (یا هر برنامه اندروید دیگر) نمی تواند که از اطلاعات (data) مربوط به برنامه اندروید که در حافظه داخلی (internal storage) ذخیره می شود، Back up تهیه کند (عملیات های back up و restore قابل اجرا نخواهند بود). 
منظورمان از حافظه داخلی (internal storage)، بخشی از حافظه گوشی است که به برنامه اندروید اختصاص داده می شود و تنها خود برنامه اندروید می تواند به آن بخش از حافظه گوشی دسترسی داشته باشد (نه دیگر برنامه های اندروید. دسترسی مستقیم کاربر نیز ممکن نیست).

اما دقت داشته باشید که باز هم در دو حالت زیر، می توان به اطلاعات موجود در حافظه داخلی (internal storage) دسترسی داشت :
1- اگر گوشی root شده باشد، آنگاه دیگر اینگونه مسائل امنیتی قابل دور زدن هستند. بنابراین برنامه هایی که مخصوص گوشی های root شده هستند، معمولا این قوانین برایشان مشکلی ایجاد نمی کند (با یک سری روش های خاص به اطلاعات برنامه ها در حافظه داخلی دسترسی دارند).
2- فردی گوشی را به صورت فیزیکی در اختیار داشته باشد و آن را به کامپیوتر متصل کرده و از طریق عملیات های مربوط به خطایابی (debugging)، به اطلاعات حافظه داخلی (internal storage) دسترسی پیدا کند.

(۱۳۹۵/۰۴/۲۳, ۰۶:۴۱ ب.ظ)takstar نوشته: مثلا ، چندتا از برنامه هایی که پرداخت درون برنامه ای دارن ، بعد پرداخت با AppSaver ، zapya و ... تست کردم ولی فایل نصبی نمونه اول رو داد ! Cool

بنابراین این برنامه ها، بر روی پرداخت درون برنامه ای تاثیر ندارند (نتوانسته از اطلاعات مربوط به آنها back up تهیه کند)، دلیلش هم این است که اطلاعات مربوط به انجام شدن پرداخت درون برنامه ای در حافظه داخلی (internal storage) ذخیره شده است و چون نتوانسته اند به این اطلاعات دسترسی داشته باشند، اطلاعات مربوط به خریداری شدن برنامه منتقل نشده است.

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

(۱۳۹۵/۰۴/۲۳, ۰۶:۴۱ ب.ظ)takstar نوشته: حالا برنامه ای که از اول پولی باشه ! چطوری میشه از تکثیر با این app ها جلوگیری کرد ؟ Sad

با توجه به توضیحاتی که در مورد قابلیت back up گیری کامل از فایل apk اولیه گفته شد، اگر برنامه از اول پولی باشد و بعد از خرید، فایل apk با اطلاعات کامل توسط گوشی کاربر دانلود شود، آنگاه راه حلی برای عدم تکثیر آن وجود ندارد (برای حالتی که یک فایل apk یگانه را کاربر دانلود کند --- با سیستم هایی که فایل های apk متفاوتی برای کاربران مختلف ارائه می دهند کاری نداریم، چون در مورد مارکت های فعلی و روش مرسوم صحبت می کنیم). 
بنابراین به نظر می آید که بهترین روش امن سازی برای عدم تکثیر فایل apk، استفاده از پرداخت درون برنامه ای است.

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

Flower
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)