نمایش نتایج 1 تا 18 از 18

نام تاپیک: آیا فایل gradle قابل هک شدن است

  1. #1
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    آیا فایل gradle قابل هک شدن است

    سلام
    دوستان آیا با وجود proguard کردن برنامه، فایل gradle قابل هک شدن است ؟
    میخوام یک سری موارد امنیتی مثل نام سرور و دیتابیس و غیره را اینجا بگذارم آیا این کار قابل اطمینان است
    ممنون

  2. #2

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    سلام
    دوستان آیا با وجود proguard کردن برنامه، فایل gradle قابل هک شدن است ؟
    میخوام یک سری موارد امنیتی مثل نام سرور و دیتابیس و غیره را اینجا بگذارم آیا این کار قابل اطمینان است
    ممنون
    اگر منظور شما فایل build.gradle پروژه است که خوب بله بعضی از برنامه ها حتی بعضی سایت ها هم که برای دی کامپایل کردن apk هستند میتونن استخراج کنند برای اینکه بهتر مطمن بشید بهتر برنامه خودتون را با همین ابزارها دی کامپایل کنید دستتون میاد که پروژه تون در چه وضعیتی هست!

  3. #3
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    اگر منظور شما فایل build.gradle پروژه است که خوب بله بعضی از برنامه ها حتی بعضی سایت ها هم که برای دی کامپایل کردن apk هستند میتونن استخراج کنند برای اینکه بهتر مطمن بشید بهتر برنامه خودتون را با همین ابزارها دی کامپایل کنید دستتون میاد که پروژه تون در چه وضعیتی هست!
    پس با این وجود چطور میشه برنامه را از Decompile شدن مراقبت کرد؟

  4. #4
    کاربر دائمی آواتار hesam67_b
    تاریخ عضویت
    دی 1387
    محل زندگی
    مازندران
    پست
    192

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    سلام
    دوستان آیا با وجود proguard کردن برنامه، فایل gradle قابل هک شدن است ؟
    میخوام یک سری موارد امنیتی مثل نام سرور و دیتابیس و غیره را اینجا بگذارم آیا این کار قابل اطمینان است
    ممنون
    با سلام.
    دوست گرامی، فایل gradle فایلی هست که اندروید استدیو برای کامپایل و ساخت برنامه ازش استفاده میکنه و این فایل در خروجی نهایی ( که همون فایل apk باشه) کامپایل نمیشه . اگر شما برنامه های اندرویدی رو decompile کنین متوجه میشین که چنین فایلی وجود خارجی نداره!
    بهترین کار نوشتن توابع مخصوص خودتون برای رمزنگاری اطلاعات هنگام ارسال به سرور یا دریافت از سرور هست.

  5. #5

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط hesam67_b مشاهده تاپیک
    با سلام.
    دوست گرامی، فایل gradle فایلی هست که اندروید استدیو برای کامپایل و ساخت برنامه ازش استفاده میکنه و این فایل در خروجی نهایی ( که همون فایل apk باشه) کامپایل نمیشه . اگر شما برنامه های اندرویدی رو decompile کنین متوجه میشین که چنین فایلی وجود خارجی نداره!
    بهترین کار نوشتن توابع مخصوص خودتون برای رمزنگاری اطلاعات هنگام ارسال به سرور یا دریافت از سرور هست.
    بله تو فایل zip نیست ولی بعضی از ابزارهای دی کامپایل هستند که بعضی از اطلاعات این فایل را هم استخراج میکنن مثل نام کتابخونه ها و امثال هم البته بیشتر برای مهندسی معکوس روی یه پروژه کارایی داره این فایلی که استخراج میشه!

  6. #6

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    پس با این وجود چطور میشه برنامه را از Decompile شدن مراقبت کرد؟
    فعلا تا اونجا که من تست کردم و خوندم فعلا همین درهم ساز برای جاوا هست که می توننین روی اسکریپت هایی هم که داره کار کنید تا به یک نرمالی از در هم سازی سورس ها برسید!
    البته اگر از جاوای 8 به همراه sdk27 or 28 وهمچنین از multidex هم تو پروژه استفاده کنید dex فایل سورسها به راحتی دی کامپایل نمیشن نه اینکه امکان نداشته باشه ولی خیلی سخت تر خواهد شد.!
    اگر هم که برای امنیت برای رمزنگاری و البته پردازش های خوب و سریع بخواهید تو برنامه ها تون استفاده کنید میتونید از JNI استفاده کنید که البته لایبرری که تو JNI ساخته میشه دیگه به راحتی دی کامپایل نمیشه اونم برای این هست که اگر بخواهم ساده بگم که چرا نمیشه فرض کنید که با چند تا عدد می تونید یک عدد 8 بسازید مثلا 6+2 و 1+7 و 4+4 و3+5 ... برنامه های سی هم همینطور هستند وقتی کامپایل میشن دیگه الگوریتمی نیست که بخواد به سورس اولیه دسترسی داشته باشه.
    ولی با این حال باز هم همین لایبرری های JNI را هم می تونید با ابزارهای کامپایلر gcc که خروجی دی اسمبل از این کتابخونه را میدن یه جورهایی دی کامپایل کرد ولی از هر 1 میلیون برنامه نویس شاید کار یکنفر باشه که بتونه از اون کدهای دی اسمبل استفاده کنه.

  7. #7
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: آیا فایل gradle قابل هک شدن است

    سلام
    پیشنهاد می کنم رشته های حساس مثل ConnectionString را بصورت یک فایل باینری کنار Apk نصب شده ایجاد کنید و برای رمزی نگاری یک رشته یکتا در گوشی مثل IMEI را با یک کدی که از کاربر دریافت می کنید را Encrypt کنید اینطوری همراه Obfuscate شدن Apk شما احتمال نفوذ خیلی کم می شود

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    سلام
    دوستان آیا با وجود proguard کردن برنامه، فایل gradle قابل هک شدن است ؟
    میخوام یک سری موارد امنیتی مثل نام سرور و دیتابیس و غیره را اینجا بگذارم آیا این کار قابل اطمینان است
    ممنون

  8. #8
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    فعلا تا اونجا که من تست کردم و خوندم فعلا همین درهم ساز برای جاوا هست که می توننین روی اسکریپت هایی هم که داره کار کنید تا به یک نرمالی از در هم سازی سورس ها برسید!
    البته اگر از جاوای 8 به همراه sdk27 or 28 وهمچنین از multidex هم تو پروژه استفاده کنید dex فایل سورسها به راحتی دی کامپایل نمیشن نه اینکه امکان نداشته باشه ولی خیلی سخت تر خواهد شد.!
    اگر هم که برای امنیت برای رمزنگاری و البته پردازش های خوب و سریع بخواهید تو برنامه ها تون استفاده کنید میتونید از JNI استفاده کنید که البته لایبرری که تو JNI ساخته میشه دیگه به راحتی دی کامپایل نمیشه اونم برای این هست که اگر بخواهم ساده بگم که چرا نمیشه فرض کنید که با چند تا عدد می تونید یک عدد 8 بسازید مثلا 6+2 و 1+7 و 4+4 و3+5 ... برنامه های سی هم همینطور هستند وقتی کامپایل میشن دیگه الگوریتمی نیست که بخواد به سورس اولیه دسترسی داشته باشه.
    ولی با این حال باز هم همین لایبرری های JNI را هم می تونید با ابزارهای کامپایلر gcc که خروجی دی اسمبل از این کتابخونه را میدن یه جورهایی دی کامپایل کرد ولی از هر 1 میلیون برنامه نویس شاید کار یکنفر باشه که بتونه از اون کدهای دی اسمبل استفاده کنه.

    سلام
    چطور میتونم از JNI در اندروید استودیو استفاده کنم؟

  9. #9

    نقل قول: آیا فایل gradle قابل هک شدن است

    سلام
    چطور میتونم از JNI در اندروید استودیو استفاده کنم؟
    اگر خیلی سریع بخوام بگم... البته در ویندوز و اندروید استودیو 3 به بعد
    1- دانلود NDK از سایت اندروید.
    2- دانلود LLDB ابزار دیباگ کدهای سی در اندروید استودیو .
    3- دانلود CMake برای ساخت فایل تنظیمات کامپایلر البته در نسخه های قدیمی اندروید از Android.mk , Application.mk استفاده می شد ولی با اومدن cmake کار خیلی راحتتر شده و خطا ها کمتر شده.
    4- شروع به ساخت پروژه جدید برای استفاده از jni نحوه نوشتن کد به زبان سی و سی پلاس پلاس و استفاده از کامپایلر CLANG برای ساخت لایبررهای so و نحوه استفاده در جاوا.
    برای شروع سایت اندروید رفرنس های زیادی داره برای استفاده البته باید به سی پلاس مسلط باشید.
    به هر حال برای نوشتن کد با بازدهی بالا با استفاده از سی پلاس پلاس در JNI باید با ساختارهای زبان سی آشنا باشید تا بتونید از تغییراتی که لازم در کدهایی که می نویسید برای کتابخانه ها نهایت استفاده را ببرید
    مثال در JNI باید حتما از کلاس jni.h استفاده کنید
    باید نام متدها را با استفاده از ماکرو JNICALL رجیستر کنید واین تعریف حتما باید در سمت جاوا هم تعریف بشه .
    برای اینکه بتونیدبا داده های جاوا کار کنید باید اونها را به نوع هایی که JNI تدارک دیده تبدیل کنید مثلا ما تو سی نوعی به نام byte نداریم بجای این char داریم حالا همین char با یک نوع خاص به اسم C در JNI تعریف میشه
    مثلا یک String جاوا در JNI میشه jbytearray که البته نوع نیست یک کلاس که اگر بخواهید از داده ای که بهش اشاره میکنه استفاده کنید باید از متدهایی که در JNI تعریف شده استفاده کنید به صورت مستقیم مفهوم ندارن.
    تمام متدها دو تا پارامتر اجباری دارند که یکیش *env هست که کلاسی که متدهای تبدیل داده و ارتباط با JVM را پوشش میده و پارامتر بعدی از نوع جاوا آبجکت هست.
    و خیلی موارد دیگه فعلا برای شروع مراحلی که گفتم را انجام بدید چون در حال تهیه یک آموزش تصویری از JNI و برنامه هایی که با سی نوشتم هستم که حتما تا چند روز آینده تو همین تالار میذارم تا حداقل چیز هایی که بلد هستم را به دوستان دیگه انتقال بدم

  10. #10
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    اگر خیلی سریع بخوام بگم... البته در ویندوز و اندروید استودیو 3 به بعد
    1- دانلود NDK از سایت اندروید.
    2- دانلود LLDB ابزار دیباگ کدهای سی در اندروید استودیو .
    3- دانلود CMake برای ساخت فایل تنظیمات کامپایلر البته در نسخه های قدیمی اندروید از Android.mk , Application.mk استفاده می شد ولی با اومدن cmake کار خیلی راحتتر شده و خطا ها کمتر شده.
    4- شروع به ساخت پروژه جدید برای استفاده از jni نحوه نوشتن کد به زبان سی و سی پلاس پلاس و استفاده از کامپایلر CLANG برای ساخت لایبررهای so و نحوه استفاده در جاوا.
    برای شروع سایت اندروید رفرنس های زیادی داره برای استفاده البته باید به سی پلاس مسلط باشید.
    به هر حال برای نوشتن کد با بازدهی بالا با استفاده از سی پلاس پلاس در JNI باید با ساختارهای زبان سی آشنا باشید تا بتونید از تغییراتی که لازم در کدهایی که می نویسید برای کتابخانه ها نهایت استفاده را ببرید
    مثال در JNI باید حتما از کلاس jni.h استفاده کنید
    باید نام متدها را با استفاده از ماکرو JNICALL رجیستر کنید واین تعریف حتما باید در سمت جاوا هم تعریف بشه .
    برای اینکه بتونیدبا داده های جاوا کار کنید باید اونها را به نوع هایی که JNI تدارک دیده تبدیل کنید مثلا ما تو سی نوعی به نام byte نداریم بجای این char داریم حالا همین char با یک نوع خاص به اسم C در JNI تعریف میشه
    مثلا یک String جاوا در JNI میشه jbytearray که البته نوع نیست یک کلاس که اگر بخواهید از داده ای که بهش اشاره میکنه استفاده کنید باید از متدهایی که در JNI تعریف شده استفاده کنید به صورت مستقیم مفهوم ندارن.
    تمام متدها دو تا پارامتر اجباری دارند که یکیش *env هست که کلاسی که متدهای تبدیل داده و ارتباط با JVM را پوشش میده و پارامتر بعدی از نوع جاوا آبجکت هست.
    و خیلی موارد دیگه فعلا برای شروع مراحلی که گفتم را انجام بدید چون در حال تهیه یک آموزش تصویری از JNI و برنامه هایی که با سی نوشتم هستم که حتما تا چند روز آینده تو همین تالار میذارم تا حداقل چیز هایی که بلد هستم را به دوستان دیگه انتقال بدم
    یعنی برای اینکه ما یه String بزاریم توی فایل Gradle و کسی نتونه این رشته را ببینه این همه دردسر باید بکشیم؟
    چقدر بده این اندروید استودیو!!

  11. #11

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    یعنی برای اینکه ما یه String بزاریم توی فایل Gradle و کسی نتونه این رشته را ببینه این همه دردسر باید بکشیم؟
    چقدر بده این اندروید استودیو!!
    البته که نه! اصلا ربطی به گریدل فایل و غیره نداره...

  12. #12
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    البته که نه! اصلا ربطی به گریدل فایل و غیره نداره...
    پس چی؟
    من هدفم اینه که یه String بزارم توی فایل Gradle و این رشته قابل هک کردن و دسترسی نباشه

    لطفا راهنماییم کنید چکار کنم؟

    ممنون

  13. #13
    کاربر دائمی آواتار hesam67_b
    تاریخ عضویت
    دی 1387
    محل زندگی
    مازندران
    پست
    192

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    پس چی؟
    من هدفم اینه که یه String بزارم توی فایل Gradle و این رشته قابل هک کردن و دسترسی نباشه

    لطفا راهنماییم کنید چکار کنم؟

    ممنون
    دوست عزیز شما نمیتونی string ذخیره کنی داخلش چون دسترسی نخواهی داشت.
    از توابع رمزنگاری استفاده کن و رشته مورد نظر رو رمزگذاری کن تا کمی سخت تر بشه. یا از راهنمایی دوستمون برای ذخیره کردن string استفاده کن.

  14. #14
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط hesam67_b مشاهده تاپیک
    دوست عزیز شما نمیتونی string ذخیره کنی داخلش چون دسترسی نخواهی داشت.
    از توابع رمزنگاری استفاده کن و رشته مورد نظر رو رمزگذاری کن تا کمی سخت تر بشه. یا از راهنمایی دوستمون برای ذخیره کردن string استفاده کن.
    چرا دسترسی ندارم؟
    من الان این کار را میکنم و دسترسی هم دارم، فقط میخوام کسی نتونه از طریق فایل APK و هک کردن به این رشته دشت پیدا کنه

    buildTypes
    { debug {
    minifyEnabled true
    useProguard false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro'



    buildConfigField "String", "DBName", '"MyDB"'
    buildConfigField "String", "DBUserName", '"DBUser"'
    buildConfigField "String", "DBPass", '"123456@Q"'


    }


    توی کلاسها هم با این روش دسترسی دارم

    String db = BuildConfig.DBName; 
    String username = BuildConfig.DBUserName;
    String password = BuildConfig.DBPass;

  15. #15

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    چرا دسترسی ندارم؟
    من الان این کار را میکنم و دسترسی هم دارم، فقط میخوام کسی نتونه از طریق فایل APK و هک کردن به این رشته دشت پیدا کنه

    buildTypes
    { debug {
    minifyEnabled true
    useProguard false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro'



    buildConfigField "String", "DBName", '"MyDB"'
    buildConfigField "String", "DBUserName", '"DBUser"'
    buildConfigField "String", "DBPass", '"123456@Q"'


    }


    توی کلاسها هم با این روش دسترسی دارم

    String db = BuildConfig.DBName; 
    String username = BuildConfig.DBUserName;
    String password = BuildConfig.DBPass;
    دوست گرامی البته که می تونید از کلاس های گریدل استفاده کنید و تا حدی هم روش خوبی برای وقتی که برنامه دی کامپایل میشه حداقل به راحتی نمی تونن به این تنظیمات دسترسی داشته باشند.
    خوب بالاخره که شما باید اون تنظیمات را استخراج کنید و ازشون استفاده کنید و برای استفاده به هرحال باید uniform resource locator URL شما حتما به صورت رشته استاندارد به سرویس http انتقال بدید که در اینجا برنامه هایی که برای اسنیف کردن هستند به راحتی این URL ها را استخراج میکنن (یعنی حتی نیازی به دی کامپایل هم نیست ) و اگر دیتا هایی که در URL ها ارسال میکنید حساس هستند می تونید در سمت اندروید درهم سازی کنید و سمت سرور هم بخونید البته حتما باید از یک روش درهم سازی استفاده کنید البته اگر احتیاج دارید که سمت سرور دیکریپت شده دیتاها را داشته باشید.
    به طور مثال کلمه عبور را در نظر بگیرید می تونید سمت اندروید درهم سازی کنید و همینطور هم در سرور ذخیره کنید و هربار رمز را دریافت کنید و درهم سازی کنید و با دیتا سرور مقایسه کنید یعنی دیگه نیازی به روش بالعکس در سرور نباشه.
    اگر هم که دیتاهایی که دارید خیلی حساس هستند که اونوقت فقط باید از سوکت استفاده کنید وب سرویس ها را فراموش کنید می تونید یک سرور سوکت که سمت سرور فعال هست دیتا را به صورت رمز شده ارسال کنید و سمت سرور هم این داده ها را دریافت کنید در برنامه نویسی سوکت دیگه به راحتی نمیتونن پورت شما را اسنیف کنند به این علت که وقتی یک سوکت در سمت مشتری باز میشه سیستم عامل به برنامه دیگه ای اجازه دسترسی به هیچ برنامه دیگه ای رو نمیده که اون پورت را گوش کنند به همین علت بسیار با امنیت خواهد بود کاری که تمام برنامه های شبکه های اجتماعی الان انجام میدن.

  16. #16

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط nasr مشاهده تاپیک
    پس چی؟
    من هدفم اینه که یه String بزارم توی فایل Gradle و این رشته قابل هک کردن و دسترسی نباشه

    لطفا راهنماییم کنید چکار کنم؟

    ممنون
    برای این کار هم همون گریدل خوب هست !

    buildTypes {
    def serverUrl = '"' + (System.getenv("SERVER_URL")?: "http://default.fallback.url.com")+'"'
    debug{
    buildConfigField "String", "SERVER_URL", serverUrl
    }
    release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    buildConfigField "String", "SERVER_URL", serverUrl
    }
    }

    خوب در این حالت بازهم این property ها در یک فایل به نام buildConfig.java ذخیره میشه که بازهم به راحتی قابل دی کامپایل هستش همونطور که در بالا هم عرض کردم شاید خود فایل build.gradle پروژه دی کامپایل نشه ولی پراپرتی های استفاده شده قابل دسترس هستند.
    پس این روش هم خیلی قابل اعتماد نیست.
    یکی از روشهای مقابله با هک برنامه ها استفاده از لایبررهای استاتیک مثل DLL در ویندوز SO در اندروید هست. پس می توان دیتا های حساس را در لایبرری ذخیره و استفاده کرد البته به غیر از URL ها که ذخیره اونها در لایبرری مفید فایده نخواهد بود.
    بستگی به حساسیت برنامه شما داره !
    به هرحال...
    1- برنامه های اندروید فوق العاده شکننده هستند و به راحتی قابل کامپایل (اصولا تمامی زبان هایی که به یک زبان میانی تفسیر می شوند به راحتی قابل کامپایل هستند این نقطه ضعف را در سی شارپ هم وجود داره ).
    2- برای امن کردن برنامه ها باید از تکنیک هایی که در برنامه نویسی اندروید هست استفاده کرد مثل JNI - در هم سازی سورس کد - استفاده از پکیچ های متفاوت در سورس - استفاده از تکنیکهای SOLID برای سخت تر شدن پروسه مهندسی معکوس.
    3- استفاده از زبانهای چند رگه برای ساخت برنامه های اندرویدی مثل Qt-Qml , ReactJS که خوب استفاده از این برنامه ها هم چالش های خودش را داره.
    4- استفاده از ابزارهای سایت هایی که برای همین منظور خدمات میدن.

    به نظر من در این برهه کمتر کسی هست که دنبال سورس کد برنامه خاصی باشه وقتی یک سایتی مثل StackOverFlow هست شاید دنبال اطلاعات باشند که اونهم راه های زیادی برای مقابله وجود داره.
    آخرین ویرایش به وسیله farhad_shiri_ex : دوشنبه 25 تیر 1397 در 16:57 عصر

  17. #17
    کاربر دائمی آواتار nasr
    تاریخ عضویت
    آذر 1382
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره فکر هوا عشق زمین مال من است
    پست
    2,018

    نقل قول: آیا فایل gradle قابل هک شدن است

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    برای این کار هم همون گریدل خوب هست !

    buildTypes {
    def serverUrl = '"' + (System.getenv("SERVER_URL")?: "http://default.fallback.url.com")+'"'
    debug{
    buildConfigField "String", "SERVER_URL", serverUrl
    }
    release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    buildConfigField "String", "SERVER_URL", serverUrl
    }
    }

    خوب در این حالت بازهم این property ها در یک فایل به نام buildConfig.java ذخیره میشه که بازهم به راحتی قابل دی کامپایل هستش همونطور که در بالا هم عرض کردم شاید خود فایل build.gradle پروژه دی کامپایل نشه ولی پراپرتی های استفاده شده قابل دسترس هستند.
    پس این روش هم خیلی قابل اعتماد نیست.
    یکی از روشهای مقابله با هک برنامه ها استفاده از لایبررهای استاتیک مثل DLL در ویندوز SO در اندروید هست. پس می توان دیتا های حساس را در لایبرری ذخیره و استفاده کرد البته به غیر از URL ها که ذخیره اونها در لایبرری مفید فایده نخواهد بود.
    بستگی به حساسیت برنامه شما داره !
    به هرحال...
    1- برنامه های اندروید فوق العاده شکننده هستند و به راحتی قابل کامپایل (اصولا تمامی زبان هایی که به یک زبان میانی تفسیر می شوند به راحتی قابل کامپایل هستند این نقطه ضعف را در سی شارپ هم وجود داره ).
    2- برای امن کردن برنامه ها باید از تکنیک هایی که در برنامه نویسی اندروید هست استفاده کرد مثل JNI - در هم سازی سورس کد - استفاده از پکیچ های متفاوت در سورس - استفاده از تکنیکهای SOLID برای سخت تر شدن پروسه مهندسی معکوس.
    3- استفاده از زبانهای چند رگه برای ساخت برنامه های اندرویدی مثل Qt-Qml , ReactJS که خوب استفاده از این برنامه ها هم چالش های خودش را داره.
    4- استفاده از ابزارهای سایت هایی که برای همین منظور خدمات میدن.

    به نظر من در این برهه کمتر کسی هست که دنبال سورس کد برنامه خاصی باشه وقتی یک سایتی مثل StackOverFlow هست شاید دنبال اطلاعات باشند که اونهم راه های زیادی برای مقابله وجود داره.

    آقا ضمن تشکر فراوان از شما
    میشه لطفا در مورد این خط یه توضیحی بدید
    چیه و چطور باید ازش استفاده کنیم و چه دلیلی داره که از این استفاده بشه
    def serverUrl =  '"' + (System.getenv("SERVER_URL")?: "http://default.fallback.url.com")+'"'


    ممنون

  18. #18

    نقل قول: آیا فایل gradle قابل هک شدن است

    قا ضمن تشکر فراوان از شما
    میشه لطفا در مورد این خط یه توضیحی بدید
    چیه و چطور باید ازش استفاده کنیم و چه دلیلی داره که از این استفاده بشه
    1

    def serverUrl = '"' + (System.getenv("SERVER_URL")?: "http://default.fallback.url.com")+'"'
    دوست عزیز!
    اینهم یک نمونه دیگه از نوشتن property برای گریدل هست کافی مقداری که به عنوان مسیر وب داده تغییر بدید و یا نام خصیصه را هم که SERVER_URL هست هرنام که دلخواه هست تعریف کنید همین!
    بعد توسط همون کلاسی که خودتون در بالا اشاره کردید ازش استفاده کنید در سورس کد جاوا را عرض میکنم.

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: چهارشنبه 09 اسفند 1391, 19:10 عصر
  2. پسورد بانک اطلاعاتی اوراکل قابل هک شدن است
    نوشته شده توسط AminSobati در بخش SQL Server
    پاسخ: 5
    آخرین پست: جمعه 21 اردیبهشت 1386, 18:57 عصر
  3. آیا فایل بانک اطلاعاتی بزرگ مشکل ساز است یا خیر ؟
    نوشته شده توسط MOHSEN731 در بخش برنامه نویسی در Delphi
    پاسخ: 6
    آخرین پست: جمعه 19 تیر 1383, 14:20 عصر
  4. با هک شدن سایتتون ایا اطلاعات ما لو رفته اند ؟
    نوشته شده توسط ilovelinux در بخش امنیت در شبکه
    پاسخ: 6
    آخرین پست: سه شنبه 23 دی 1382, 10:04 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •