PDA

View Full Version : روشهای قفل گذاری در برنامه های اندروی چیست؟



mohsen22
دوشنبه 27 آبان 1392, 06:17 صبح
سلام . . فکر کنم عنوان تاپیک معلوم باشه... اساتید ممکنه راهنمایی بفرمایند؟
مرسی

rubiks.kde
دوشنبه 27 آبان 1392, 09:36 صبح
منظورتون قفل گذاری مثل تمام برنامه های که هست مثل یه سریال اول بخواد و رجیستر بشه یا قفل گذاری برای عدم دسترسی به کد برنامه تون؟

اگه منظورتون اون چیزی هست که اول گفتم ، خیلی روش ها هست و هر کس هم میتونه یه روش جدید پیاده کنه ولی اگه منظورتون روش دوم است
باید از proguard استفاده کنید تا کدهای برنامه شما مبهم بشن و از طریق decompile قابل دیدن نباشن.

hamedjj
دوشنبه 27 آبان 1392, 11:09 صبح
خوب حالا از روش proguard چطوری میشه استفاده کرد؟

mohsen22
دوشنبه 27 آبان 1392, 11:56 صبح
منظور من ترکیبی از هر دو بود ... خب چه باید بکنیم و از کجا شروع کنیم؟ بطور کلی معماری اون در اندروید چجوریه ؟
مرسی

rubiks.kde
دوشنبه 27 آبان 1392, 13:06 عصر
ببینید برای پیاده سازی روش اول که نیاز به خلاقیت خودتون داره و میتونید با استفاده از شناسه گوشی و انجام یه سری محاسبات این امکان رو ایجاد کنید.

ولی برای استفاده از proguard باید اسکریپت مربوط به اون رو بنویسید و بعد مسیر اون رو توی فایل project.propertis مشخص کنید.
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

توی sdk هم داکیومنتش هست و هم مثالاش.

mohsen22
دوشنبه 27 آبان 1392, 16:23 عصر
سایر دوستان نظری ندارند؟

shs1377
دوشنبه 04 آذر 1392, 11:14 صبح
به نظر من یکی از روش ها استفاده از editText و عبارات شرطی است
یعنی با if میگیم که اگر عبارت وارد شده در editText توسط کاربر به عنوان مثال 123456 بود به منو برنامه بره و با else میگیم که اگر عبارات غیر از این بود از برنامه خارج بشه یا toast این رمز اشتباه است بده و یا هر چیز دیگر

تشکر یادتون نره

rubiks.kde
دوشنبه 04 آذر 1392, 12:07 عصر
به نظر من یکی از روش ها استفاده از editText و عبارات شرطی است
یعنی با if میگیم که اگر عبارت وارد شده در editText توسط کاربر به عنوان مثال 123456 بود به منو برنامه بره و با else میگیم که اگر عبارات غیر از این بود از برنامه خارج بشه یا toast این رمز اشتباه است بده و یا هر چیز دیگر

تشکر یادتون نره

دوست عزیز این چیزی که شما میگی رو میشه طی دو سوت با decompile در آورد که سیستم برنامه چطوره و چگونه داره کار میکنه.شرط ایجاد امنیت در برنامه تمام موارد رو میخواد نه این به تنهایی

mohsen22
دوشنبه 04 آذر 1392, 23:32 عصر
به نظر من یکی از روش ها استفاده از editText و عبارات شرطی است
یعنی با if میگیم که اگر عبارت وارد شده در editText توسط کاربر به عنوان مثال 123456 بود به منو برنامه بره و با else میگیم که اگر عبارات غیر از این بود از برنامه خارج بشه یا toast این رمز اشتباه است بده و یا هر چیز دیگر

تشکر یادتون نره

ای ول ... عجب راهنمایی کردید ها....... !!!!!!!!!!!! سایر اساتید ممکنه ......؟؟؟

rubiks.kde
سه شنبه 05 آذر 1392, 00:48 صبح
ای ول ... عجب راهنمایی کردید ها....... !!!!!!!!!!!! سایر اساتید ممکنه ......؟؟؟

شدنش که میشه و خیلی راحت هم میشه ولی فقط لازمه یه بار decompile بشه اون وقت اگه طرف یکم در مورد برنامه سر دربیاره به راحتی میفهمه سیستم کاریش چطوریه.
الان برنامه نوشته میشه که قفل امنیتیش توی قسمت native که قابل دسترسی نیست ولی بازم کرک میشه .

mohsen22
سه شنبه 05 آذر 1392, 01:13 صبح
نمیشه کد ها رو مبهم کرد؟؟ بعد قفل ترکیبی از وازه خاص+ کد سخت افزاری مربوط به گوشی

ممکنه استارت بزنیم برای نوشتن این برنامه ... فکر کنم مبحث خوبی بشه در این تاپیک و خصوصا برنامه نویسان اندروید ؟
مرسی

rubiks.kde
سه شنبه 05 آذر 1392, 11:14 صبح
نمیشه کد ها رو مبهم کرد؟؟ بعد قفل ترکیبی از وازه خاص+ کد سخت افزاری مربوط به گوشی

ممکنه استارت بزنیم برای نوشتن این برنامه ... فکر کنم مبحث خوبی بشه در این تاپیک و خصوصا برنامه نویسان اندروید ؟
مرسی

بالا در مورد مبهم سازی گفتم دیگه.proguard ابزاریه که کد رو هم بهینه و هم مبهم میکنه

mohsen22
پنج شنبه 07 آذر 1392, 19:46 عصر
کسی نمونه کد واسه قفل نرم افزاری نداره ؟ مرسی

mohsen22
شنبه 19 بهمن 1392, 19:29 عصر
up.................

mohsen22
چهارشنبه 23 بهمن 1392, 07:28 صبح
سلام درباره مفهومEncryption کسی اطلاعاتی داره به بنده بده ؟ مرسی

A.iman
چهارشنبه 23 بهمن 1392, 20:30 عصر
این خیلی مبحث پیچیده ایه و بیشتر به خلاقیت و معلوماتش از معماری و سیستم عمل طرف برمیگرده و به همین اسونی روش هاشو share نمیکنن !
ابنجا کمی این موضوع رو بررسی کردن :
stack (http://stackoverflow.com/questions/13854425/how-to-avoid-reverse-engineering-of-an-apk-file)

khademolhojaj5
سه شنبه 08 مهر 1393, 22:26 عصر
این خیلی مبحث پیچیده ایه و بیشتر به خلاقیت و معلوماتش از معماری و سیستم عمل طرف برمیگرده و به همین اسونی روش هاشو share نمیکنن !
ابنجا کمی این موضوع رو بررسی کردن :
stack (http://stackoverflow.com/questions/13854425/how-to-avoid-reverse-engineering-of-an-apk-file)

نظر من هم همینه من هم حاظر نیستم قفلی که روش حسابی زحمت کشیدم رو به راحتی منتشر کنم
فقط در حد راهنمایی : بهتره فعالسازی سمت سرور باشه تا الگ.ریتم قفل لو نره
یه چیزی تو مایه های فعال سازی واتس آپ

diapason
پنج شنبه 10 مهر 1393, 18:23 عصر
نظر من هم همینه من هم حاظر نیستم قفلی که روش حسابی زحمت کشیدم رو به راحتی منتشر کنم
فقط در حد راهنمایی : بهتره فعالسازی سمت سرور باشه تا الگ.ریتم قفل لو نره
یه چیزی تو مایه های فعال سازی واتس آپ

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

saeed_g21
پنج شنبه 10 مهر 1393, 18:37 عصر
چندوقته راجع به همین مورد برای من یک سوال پیش اومده. البته به بازار دوبار ایمیل زدم جوابی ندارن. کندو این قابلیت رو داره که بتونید صحت خریده شدن برنامه رو بررسی کنید. سیستمش هم کپی پیاده سازی پرداخت درون برنامه‌ایه، ولی خیلی ساده‌تر.
حالا یه چیز دیگه که ذهن من رو مشغول کرده:
من اسکریپتی رو پیاده سازی میکنم تا لایسنس برنامه رو در سمت سرور چک کنه. آیا امکان لو رفتن اسکریپت از روی سرور، هر دلیل، وجود داره؟ به خصوص از طرف مدیران اون هاست؟!
نخند! :متفکر:
دقیقا!!!!!
چون شما فایل خود را داخل درایوی از اون سیستم کپی میکنید درسته!!!!؟

پس نتیجه میگیریم :
بله امکان سو استفاده از مدیران هاستینگ میسر هست

پس :
بهتر است از سرور اختصاصی استفاده کنی (Dedicated Server )
یا
سرور مجازی (VPS)

که هم بتونی بصورت Remote Deskotp وصل بشی (اگه پشتیبانی کند) و هم که با Cpanel یا ... .

فکر کنم اینطوری تا حدودی جلوگیری می شود


اگه تظمینی می خوای که تحت هیچ شرایطی (بجز هک شدن) لو نرن سیستم خودت رو سرور کن:لبخند:


نمیخندم:بامزه:

pbm_soy
جمعه 11 مهر 1393, 02:14 صبح
هزینه ای که شما برای برپا کردن یک سیستم قفل می کنید باید متناسب با قیمت نرم افزار باشد!

مثلا برای یک نرم افزار ارزون قیمت اجاره کردن یک سرور اختصاصی شاید اقتصادی نباشد!
البته با این مورد آخر موافقم که یک سیستم در خانه بذاری به عنوان سرور و اگه از آن بطور صحیح مواظبت کنی حتی در زمان هک شدن هم میتوانی از سرورت مراقبت کنی (البته 100% نیست ولی خیلی بالاست)
فقط برای سیستم خانه یک آی پی valid ایستا باید بگیری و تمام! هزینه دیگری هم نمیخواد!
البته یک نکته دیگه هم هست اونم اینه که ترافیک اطلاعاتی به این سرور چقدر است میزان پردازش سمت سرور چقدر خواهد بود