کلیدستان

نسخه‌ی کامل: محافظت از SQLite
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام. من یک برنامه دیکشنری نوشتم که لغات توسط دیتابیس SQLite به ریسایکلر ویو اضافه میشه. مشکل اینجاست که وقتی برنامه decompile میشه، دیتابیس دراختیار بقیه قرار میگیره. راهی هست تا جلوی این کار گرفته بشه؟
اگه با DB Browser برای دیتابیس رمز بزارم، چجوری میتونم از دیتابیس تو اندروید استادیو استفاده کنم؟
با proguard میشه جلوی فهمیدن کلاس ها و لیوت ها و .. رو گرفت ولی دیتابیس رمزنگاری نمیشه و سالم میمونه.
کسی راهی سراغ داره؟
سلام.

شما میتونید با openssl و AES فایل دیتابیس رو رمز نگاری کنید و توی برنامه قرار بدید ، قبل از خوندن فایل اون رو این جوری :
کد:
       IvParameterSpec ivParameterSpec = new IvParameterSpec(IV);
       SecretKeySpec secretKeySpec = new SecretKeySpec(Key, "AES");

       Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
       cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec);
       return cipher.doFinal(File);

به حالت اولیه برش گردونید.

موفق باشید Rolleyes
(۱۳۹۷/۱۲/۲۸, ۱۲:۰۱ ب.ظ)seljad نوشته: [ -> ]سلام. من یک برنامه دیکشنری نوشتم که لغات توسط دیتابیس SQLite به ریسایکلر ویو اضافه میشه. مشکل اینجاست که وقتی برنامه decompile میشه، دیتابیس دراختیار بقیه قرار میگیره. راهی هست تا جلوی این کار گرفته بشه؟
اگه با DB Browser برای دیتابیس رمز بزارم، چجوری میتونم از دیتابیس تو اندروید استادیو استفاده کنم؟
با proguard میشه جلوی فهمیدن کلاس ها و لیوت ها و .. رو گرفت ولی دیتابیس رمزنگاری نمیشه و سالم میمونه.
کسی راهی سراغ داره؟

از دیتابیس REalm استفاده کن
(۱۳۹۷/۱۲/۲۸, ۱۲:۰۱ ب.ظ)seljad نوشته: [ -> ]سلام. من یک برنامه دیکشنری نوشتم که لغات توسط دیتابیس SQLite به ریسایکلر ویو اضافه میشه. مشکل اینجاست که وقتی برنامه decompile میشه، دیتابیس دراختیار بقیه قرار میگیره. راهی هست تا جلوی این کار گرفته بشه؟
اگه با DB Browser برای دیتابیس رمز بزارم، چجوری میتونم از دیتابیس تو اندروید استادیو استفاده کنم؟
با proguard میشه جلوی فهمیدن کلاس ها و لیوت ها و .. رو گرفت ولی دیتابیس رمزنگاری نمیشه و سالم میمونه.
کسی راهی سراغ داره؟
سلام وقتتون بخیر . بهتون پیشنهاد می کنم مقاله " آموزش کار با دیتابیس اندروید (SQLite) با مثال در اندروید استودیو " رو مطالعه کنید.