ورود

View Full Version : دسترسی به دیتابیس یک نرم افزار



matarata
یک شنبه 03 خرداد 1394, 19:00 عصر
سلام. دیتابیس هر نرم افزار اندروید داخل پوشه root/data/data/app-package-name/databases هست اما من یک نرم افزار دارم شدیدا هم به دیتابیسش احتیاج دارم ولی داخل پوشه databases مربوط به اون نرم افزار نبود. چطوری میتونم بهش دسترسی داشته باشم؟

JYasProgramer
یک شنبه 03 خرداد 1394, 19:06 عصر
دوست من اگه قرار بود که به دیتابیس هر نرم افزار دسترسی ای وجود داشته باشه که باس اندروید بوسید گذاش لب طاقچه

matarata
یک شنبه 03 خرداد 1394, 19:13 عصر
دوست من اگه قرار بود که به دیتابیس هر نرم افزار دسترسی ای وجود داشته باشه که باس اندروید بوسید گذاش لب طاقچه

به دیتابیس فیز بوک هم میشه دسترسی پیدا کرد چه برسه به یک نرم افزار ساده اندروید. میخواستم ببینم کسی بلده اینجا یا نه

JYasProgramer
یک شنبه 03 خرداد 1394, 19:48 عصر
ببینیمو تعریف کنیم :لبخندساده:

gjmkdyttyhujk
یک شنبه 03 خرداد 1394, 20:16 عصر
به دیتابیس فیز بوک هم میشه دسترسی پیدا کرد چه برسه به یک نرم افزار ساده اندروید. میخواستم ببینم کسی بلده اینجا یا نه

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

matarata
دوشنبه 04 خرداد 1394, 16:52 عصر
شما نهایتش دو ساعت نمیشه سوالتو پرسیدی بعد میگید که می خواستم بدونم کسی بلده اینجا؟ کلا اینجور مباحث یه جورایی ابتکاری هست و خیلی عمومی نیست که همه بلد باشن. اگه شما بلدید به دیتابیس دسترسی داشته باشید عرف این سایت که کمک به همدیگه هست رو رعایت کنید و روش کارتون رو بگید بی زحمت.

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

djtrex
دوشنبه 04 خرداد 1394, 19:25 عصر
هر اپ فقط به فولدر خودش دسترسی داره. (عملا owner هر فولدر توی /data/data مربوط به همون اپ هست)
اما کافیه دیوایستونو روت کنید و با اپلیکیشنی مثل root explorer یا با دستور adb دیتابیس و یا shared preferences اپ را پیدا و استفاده یا ویرایش کنید.

اگه اپلیکیشنی که دنبال دیتابیسش هستید به صورت آفلاین کار میکنه عموما توی فولدر assets هست (ممکنه رمزنگاری شده باشه) کافیه فایل apk رو unzip کنید.

-----------
در جواب دوست عزیز دیگر هم باید بگم واقعا اگه برنامه نویس به فکر اپلیکیشنش نباشه عین آب خوردنه اینجور چیزا تو اندروید:دی

پیشنهاد میکنم برای امنیت بیشتر اپ موبایلتون این مطالب رو مطالعه بفرمایید:
https://www.nowsecure.com/resources/secure-mobile-development/

skkhossein
دوشنبه 04 خرداد 1394, 21:40 عصر
به shared preferences میشه دسترسی پیدا کرد؟

دیتابیس رو چون مسیر فایل هاش مشخصه یا اینکه فایل های سیستمی رو تحت نظر داشته باشید متوجه فایل های جدید میشد اما shared preferences این طور نیست که بشه به همین راحتی محتویاتش رو ویرایش کرد

ممنون میشم اگه اطلاعاتی در این مورد دارید و به اشتراک بزارید

djtrex
دوشنبه 04 خرداد 1394, 23:57 عصر
به shared preferences میشه دسترسی پیدا کرد؟

دیتابیس رو چون مسیر فایل هاش مشخصه یا اینکه فایل های سیستمی رو تحت نظر داشته باشید متوجه فایل های جدید میشد اما shared preferences این طور نیست که بشه به همین راحتی محتویاتش رو ویرایش کرد

ممنون میشم اگه اطلاعاتی در این مورد دارید و به اشتراک بزارید

متاسفانه اگه root باشید عین آب خوردن میشه دسترسی پیدا کرد و تغییر داد:)

مثلا این مربوط به یک دیکشنری هست که همینجوری الان پیدا کردم این محتویات فولدر اپ در مسیر /data/data



131651



این محتویات فایل های sqlite دیتابیس هست. اون فایل ۶۰ مگاباتی همون فایل دیکشنری هست که میتونید استفاده کنید ازش (البته صرف نظر از مسائل حقوقی و ...!)
131652




اینم مسیر فایل های shared_preferences که با فرمت xml هستند و برای این اپ ۲ تا فایل بود:



131653



اینم محتویات یکی از فایل ها که اتفاقا تو این این فایل مشخص میشه برنامه نسخه premium هست یا خیر (نسخه بدون تبلیغ که با خرید درون برنامه ای انجام میشه) کافیه مقدار false رو به true تغییر بدید و شما نسخه حرفه ای و بدون تبلیغ رو دارید!! یا میتونید همین فایل رو در دیوایس های دیگه در همین مسیر کپی کنید و باز هم نسخه حرفه ای دارید!!

131654


------

اینا هم مربوط به اپ کافه بازار هست:

131655
131656

(مقدار اعتبار برای کش هست موقع خرید از سمت سرور چک میشه!! یعنی تغییرش بدید تاثیری نداره!!)


------------------------------------
حالا راهکار چیه؟

مقدار رمزنگاری شده توی shared preferences ذخیره کنید خصوصا برای هر دیوایس متغیر باشه تا با کپی کردن اون توی دیوایس دیگه کار نکنه!
میتونید این مطلب رو بخونید که در مورد کتابخانه Hawk توضیح داده و نحوه استفاده از اون:

http://kava.ir/tutorials/%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%A7%D9%85%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF%D9%AC-%D8%A8%D8%A7-hawk/

راهکار بهتر اینه که چیز های مهم رو سمت سرور نگه دارید مثل وضعیت سکه های کاربر و ...!

matarata
سه شنبه 05 خرداد 1394, 00:07 صبح
هر اپ فقط به فولدر خودش دسترسی داره. (عملا owner هر فولدر توی /data/data مربوط به همون اپ هست)
اما کافیه دیوایستونو روت کنید و با اپلیکیشنی مثل root explorer یا با دستور adb دیتابیس و یا shared preferences اپ را پیدا و استفاده یا ویرایش کنید.

اگه اپلیکیشنی که دنبال دیتابیسش هستید به صورت آفلاین کار میکنه عموما توی فولدر assets هست (ممکنه رمزنگاری شده باشه) کافیه فایل apk رو unzip کنید.

-----------
در جواب دوست عزیز دیگر هم باید بگم واقعا اگه برنامه نویس به فکر اپلیکیشنش نباشه عین آب خوردنه اینجور چیزا تو اندروید:دی

پیشنهاد میکنم برای امنیت بیشتر اپ موبایلتون این مطالب رو مطالعه بفرمایید:
https://www.nowsecure.com/resources/secure-mobile-development/

عجب چقدر جالب و راحت. با یک Explorer فایل apk رو Unzip کردم همه چیزش ریخت بیرون. البته پوشه ی assets چیزی نداشت توش متاسفانه. آقا خدا پدر مادرتو بیامرزه نمیدونستم به این راحتی میشه Unzip کرد. الان یک مسئله دیگه به وجود اومد اینکه چطوری اپ خودمو رمزنگاری کنم؟ اپ خودمو Unzip کردم همه چیزش ریخت بیرون حتی دیتابیسش. این سایتی هم که معرفی کردید خیلی مطالبش زیاده. منبع خلاصه تر ندارید برای رمزنگاری اپ؟ یا اگر خودتون وقت و حوصلش رو دارید یه تاپیک برای این موضوع بزنید. ممنون میشم :قلب:

djtrex
سه شنبه 05 خرداد 1394, 00:17 صبح
عجب چقدر جالب و راحت. با یک Explorer فایل apk رو Unzip کردم همه چیزش ریخت بیرون. البته پوشه ی assets چیزی نداشت توش متاسفانه. آقا خدا پدر مادرتو بیامرزه نمیدونستم به این راحتی میشه Unzip کرد. الان یک مسئله دیگه به وجود اومد اینکه چطوری اپ خودمو رمزنگاری کنم؟ اپ خودمو Unzip کردم همه چیزش ریخت بیرون حتی دیتابیسش. این سایتی هم که معرفی کردید خیلی مطالبش زیاده. منبع خلاصه تر ندارید برای رمزنگاری اپ؟ یا اگر خودتون وقت و حوصلش رو دارید یه تاپیک برای این موضوع بزنید. ممنون میشم :قلب:

برای shared preferences
این مطلب رو ببینید:
http://kava.ir/tutorials/%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%A7%D9%85%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF%D9%AC-%D8%A8%D8%A7-hawk/

برای رمزنگاری دیتابیس:
SqlCipher یا Realm
https://android-arsenal.com/details/1/412
https://realm.io/

ولی خوب لینک پست اولی از همه جامع تره!!
------
در کل بهتره سمت سرور دیتاهای حساستونو نگه دارید مگه اینکه مجبور باشید.

MOJSOFT
دوشنبه 05 مهر 1400, 16:12 عصر
سلام داداش ، من یه نرم افزار اندرویدی دارم زمانی که استفاده نشه دیتا خالی هستش ، وقتی هم استفاده میکنم و بعد با hack app data میرم سراغ دیتا بعد از ویرایش مینویسه فایل قفل است