رفتن به مطلب
  • 0

دردسترس نبودن دیتابیس برای کاربر


mreza

سوال

سلام به همه ی دوستان

خیلی سریع برم سر سوالم

 

وقتی فایل apk برنامه رو تجزیه میکنیم قسمت asset پروژه کاملا مشخص که این اصلا خوب نیست چون اطلاعات برنامه به راحتی قابل مشاهدس(حتی دیتابیس)

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

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

راه دیگه ای هست که کلا به فایل دیتابیس نشه دسترسی پیدا کرد یا نه؟

مرسی از همگی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

دوست عزیز شما به هیچ وجه نمیتونید کاری بکنید که نشه به منابع اندروید دسترسی پیدا کرد

دیتابیس و عکس ها کمترین چیزیه که شما باید نگرانش باشید بدتر از اون خود کدهای برنامه هم درصورت محافظت نشدن در دسترسه

واسه دیتابیس هیچ راهی وجود نداره که بشه جلوی دسترسی رو گرفت اگه هم از sqlchiper استفاده کنی که سرعت خیلی میاد پایین بنابراین شما باید یه سبک سنگین بکنید که چه اطلاعاتی واستون امنیتی و حساس هست و رو اینکریپت کردن اونا تمرکز کنی نه کل دیتابیس تو انجمن هم کتابخونه واسه رمزنگاری داده ها وجود داره میتونید استفاده کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از راهنمتييتون

ولى من فايلهاى apk ديدم كه وقتى تجزيشون كردم عكسها و حتى صفحه هاى ديزاينرش بود ولى اصلا فايل ديتابيس نداشت و ديتابيسشم آفلاين بود. 

دومورد ديتابيس خودمم طوريه كه همش برام مهمه و بالاى ١٠٠٠ ركورده. 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عزیز عرض شد خدمتتون هیچ راهی وجود نداره که بشه فایلهای اندرویدی که تو بسته نصبی هست رو مخفی کنی

این چیزی که شما میگین هم به این صورته که با یه سری طرفندها و کلکها میان و مثلا پسوند دیتابیس رو میزارن پسوند عکس یا فیلم بعد میان اونو کپی میکنن و پسوند رو تغییر میدن و استفاده میکنن

نه اینکه اونو مخفی کنن از دید کاربر همچین چیزی وجود نداره

در مورد دیتابیستون هم فکر نکنم راه بهینه ای واسش باشه واقعا چون تعداد رکوردهات خیلی زیاده و با هر روشی که اینکریپت کنید مطمئنا سرعت برنامه شما پایین میاد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببخشید که دوباره سوال میپرسم

من یه دیتابیس توی navicart ساختم و روش پسورد گذاشتمو به پروژه اضافه کردم

بعدش با sqlChiper اومدم initialize کردم.

sql1.Initialize(File.DirInternal,"test.sqlite",False,"1234",File.DirAssets)

ولی موقع نوشتن query ارور میده که net.sqlcipher.database.SQLiteException: file is encrypted or is not a database: , while compiling: SELECT * FROM table

یعنی اینجا:

cur = sql1.ExecQuery("SELECT * FROM table")

 

این مشکل بخاطر چیه؟

ممنون از راهنماییتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

میتونید از طریق مثلا کتابخونه AriaZip فایل دیتابیس رو زیپ شده کنید و براش پسورد بزارید و ...

یا هم از روش های مختلف Encrypt کردن استفاده کنید که توی انجمن بحثش شده و آموزش هاش وجود داره

اون AriaZip هم توی فروشگاه وجود داره...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...