رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • bootcamp-flutter.thumb.jpg.c5f34768cc31a793c8a88476bc49606c.jpg

پیشنهاد برای استفاده از ProGuard برای امنیت کدها


پست های پیشنهاد شده

با سلام

دوستان همونطور که اطلاع دارید اکثر برنامه های که مشابه هستن به احتمال زیاد کپی میشن. البته این رو هم در نظر بگیریم که ایده گرفتن با کپی کردن متفاوته. بگذریم...

خب اگر شما همینطوری کدتون رو بنویسی و برنامتون رو بذاری واسه دانلود و کسی به فایل apk شما دسترسی داشته باشه کافیه با نرم افزار های decompiler کد شمارو ببینه. مثلا نمونه زیر رو ببینید :

p2yprkjp7cv5snsy00mi.jpg

حالا بعد از فعال کردن ProGuard  کدها رو ببینید چطور میشن :

2ulrs23hd2qlrl5zbbf9.jpg

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

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

نکته : ( هر دو تصویر از Java Decompiler گرفته شده )

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

در اندروید استدیو توی build.gradle فیلد minifyEnabled رو true قرار بدید Proguard فعال میشه ، درهم سازی در سطح بالایی نیست ولی واسه برنامه هایی که ما میسازیم کافیه

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

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

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

در اندروید استدیو توی build.gradle فیلد minifyEnabled رو true قرار بدید Proguard فعال میشه ، درهم سازی در سطح بالایی نیست ولی واسه برنامه هایی که ما میسازیم کافیه

چند نمونه دیگه هم هست که با تغییر Proguardکه تو sdk هست میتونید بهترش هم بکنید. تو گوگل سرچ کنید پیدا میشه.

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط Meraj-ap
      با سلام و عرض ادب بنده کارشناس محصولات امنیتی شرکت آشناایمن هستم؛
      با توجه به حیطه فعالیت توسعه دهندگان  و دغدغه های امنیتی توسعه اپلیکیشن های موبایل، باعث افتخار خواهد بود که لایسنس های امن ساز شرکت معتبر گارداسکویر، که نمایندگی انحصاری آن را شرکت آشناایمن در ایران برعهده دارد را خدمتتان معرفی کنم. شرکت گارداسکویر، توسعه دهنده ابزار رایگان پروگارد، نسخه های تجاری ابزار خود را تحت عناوین DexGuard و iXGuard ویژه پلتفرم های android و iOS عرضه می نماید. این ابزارها با ویژگی های امنیتی متعدد خود، از جمله مبهم سازی کد، اپلیکیشن شما را در برابر آسیب پذیری های ایستا و پویا مصون خواهند نمود اطلاعات بیشتر در لینک های زیر قابل دسترس می باشد : 
      https://www.ashnasecure.com/dexguard/?utm_source=Li&utm_campaign=dm_g&utm_medium=2021
       
      https://www.ashnasecure.com/ixguard/?utm_source=Li&utm_campaign=dm_g&utm_medium=2021
      شایان ذکر است تاکنون شرکت آشناایمن موفق به تامین لایسنس برای اپلیکیشن های متعدد (از جمله: همراه بانک ها، اپلیکیشن های پرداخت، کتابخانه های پرداخت و بانکی، رمزسازها و...) گردیده و مشتاق به رفع نیازمندی سازمان ها و کسب و کارهای بزرگ و کوچک می باشد.🙂🙏
      DexGuard-iXGuard Catalogue.pdf
    • توسط AliAmani
      سلام.وقت بخیر.من به یه ارور بر خوردم. دیباگر attach نمیشه.لطفا راهنماییم کنید.
      اندروید استودیو را حذف و دوباره نصب کردم.avd جدید ایجاد کردم.adb را kill و بعد start کردم.اما درست نشد.
      مشکل فقط در پروژه های اندروید است و در پروژه های فلاتر مشکلی نیست.
      debug.pdf
    • توسط elecomco
      آیا می‌خواهید برنامه اندروید بعدی خود را بسازید ، اما مطمئن نیستید که کدام زبان برنامه‌نویسی برای شما بهترین انتخاب است؟ در این مقاله به زبان هایی خواهم پرداخت که برای توسعه برنامه های اندروید بعدی ممکن است از آنها استفاده کنم.
      اندروید پذیرفته ترین سیستم عامل موبایل در جهان است. اندروید توسط گوگل توسعه داده شد و یک سیستم‌عامل باز مبتنی بر لینوکس است. اندروید کاملا متن باز است و هر شرکت یا فردی می‌تواند آن را دانلود کرده و از آن برای محصولات خود استفاده کند. در اصل ، این سیستم عامل از طریق شرکت اندروید برای دوربین‌های دیجیتال و موبایل طراحی شد. شرکت اندروید در سال ۲۰۰۵ توسط گوگل خریداری شد. در حال حاضر ، ۲.۳ میلیارد تلفن هوشمند اندروید در جهان وجود دارد.
      اندروید نه تنها از دو میلیارد تلفن هوشمند ، لپ‌تاپ ، تبلت  و کامپیوترهای شخصی پشتیبانی میکند ، بلکه اندروید قلب تپنده میلیاردها دستگاهی است که در زندگی روزمره خود از آنها استفاده می‌کنید. برخی از این وسایل عبارتند از: تلویزیون ، سیستم‌های امنیت خانگی ، یخچال و فریزر ، باکس های تلویزیونی ، دوربین ها ، ماشین ها ، سیستم‌های ناوبری ، تبلت های هوشمند ، بازی رایانه‌ای و وسایل خانگی هوشمند.
      چه زبان‌های برنامه‌نویسی می‌توانند برای توسعه برنامه‌های کاربردی تلفن همراه به کار روند؟ در اینجا لیستی از رایج‌ترین زبان‌های برنامه‌نویسی برای توسعه برنامه‌های اندروید آورده شده است : 
      Java Kotlin #C Python ++C
      جاوا
      زبان جاوا محبوب‌ترین زبان برنامه‌نویسی در این زمینه است. جاوا یک زبان برنامه‌نویسی استاتیک ، همه منظوره و متن باز است. جاوا از زمان راه‌اندازی سیستم‌عامل اندروید , زبان برنامه‌نویسی اولیه این سیستم عامل بوده است . جاوا در شرکت سان میکروسیستمز توسط James Gosling در سال ۱۹۹۵ ساخته شد. این زبان برنامه نویسی در حال حاضر متعلق به اوراکل است.
      جاوا براساس ++c  ساخته شد تا یادگیری آن برای توسعه دهندگان ساده باشد. این زبان همراه با ++c بهترین زبان‌های برنامه‌نویسی برای دانشجویان و افراد تازه کار برای یادگیری اصول برنامه‌نویسی هستند. زبان جاوا توسط بسیاری از دانشگاه‌ها به عنوان اولین زبان برنامه‌نویسی برای آموزش به دانشجویان استفاده میشود.
      برخلاف زبان های سوئیفت، سی شارپ و کاتلین ممکن است جاوا زبان برنامه‌نویسی مدرنی نباشد و مانند زبان های دیگر مدام بروزرسانی نشود. با این حال , زبان جاوا نقطه شروعی را برای توسعه دهندگان جدید مشخص میکند. یادگیری زبان جاوا در مقایسه با کاتلین بسیار ساده‌تر است. اگر یک توسعه دهنده تازه کار هستید و میخواهید توسعه اندروید را یاد بگیرید , جاوا یکی از آسان‌ترین راه‌ها برای شروع است.
      کاتلین
      کاتلین یک زبان برنامه‌نویسی مدرن , دقیق , ایمن , شی گرا و سازگار با همه ی پلتفرم هاست که توسط یک شرکت نرم‌افزاری به نام JetBrains در سال ۲۰۱۱ ساخته شده‌است. این زبان برای ساخت نرم‌افزارهای کاربردی , برنامه های اندروید و برنامه‌های بومی استفاده می‌شود. در حال حاضر گوگل توسط شرکت گوگل پشتیبانی میشود.
      زبان کاتلین از زمان انتشار Android Studio ۳,۰ در اکتبر سال ۲۰۱۷  به عنوان زبان برنامه‌نویسی رسمی برای اندروید استفاده شده‌است. این زبان برای طراحی برنامه‌های کاربردی ، ساخت اپلیکیشن های مدرن و ارائه قابلیت‌های جدید برای توسعه دهندگان طراحی شده است. کاتلین برای شما سادگی , انعطاف‌پذیری و بهره‌وری را فراهم می آورد.
      کد های نوشته شده در این زبان نسبت به زبان جاوا کوتاه تر و تمیز تر است. برای پروژ های اندروید بعدی شدیدا ً توصیه می‌کنم که از این زبان استفاده کنید . 
      #C
      زبان #C توسط Anders Hejlsberg در مایکروسافت در سال ۲۰۰۰ ایجاد شد. سی شارپ یک زبان برنامه‌نویسی ساده ، انعطاف‌پذیر ، ایمن ، و متن باز است. این زبان یکی از پراستفاده ترین زبان‌های برنامه‌نویسی در جهان است. سی شارپ به توسعه‌دهندگان اجازه می‌دهد تا تمام برنامه‌های کاربردی از قبیل ویندوز ، کنسول‌ها ، برنامه‌های وب ، برنامه‌های موبایل ، و سیستم‌های backend را بسازند.
      برنامه نویسان سی شارپ می‌توانند برنامه‌های کاربردی ios و اندروید را با کمک Xamarin بسازند . Xamarin به عنوان بخشی از ویژوال استادیو ابزاری است که به توسعه دهندگان اجازه میدهد کدهای سی شارپ خود را به برنامه های بومی اندروید و یا ios تبدیل کنند. سی شارپ طراحان را قادر می‌سازد که برنامه‌های کاربردی ios بومی و اندروید را بدون آگاهی از یک زبان برنامه‌نویسی جدید بسازند.
      پایتون
      پایتون یکی از رایج‌ترین زبان‌های برنامه‌نویسی زمانه اخیر است. پایتون که توسط Guido van Rossum در سال ۱۹۹۱ ایجاد شد. این زبان متن باز ، سطح بالا و همه منظوره است. پایتون یک زبان برنامه‌نویسی پویا است که از پارادایم‌های توسعه شی گرا ، تابعی و رویه‌ای پشتیبانی می‌کند. این زبان در برنامه‌نویسی یادگیری ماشین بسیار محبوب است. در توسعه نرم‌افزار های اندروید ، پایتون جهت ایجاد کتابخانه‌ها ، توابع ، و دیگر وظایف پردازش به کار می‌رود .
      ++C
      ++C یکی از قدیمی‌ترین و محبوب‌ترین زبان‌های برنامه‌نویسی است. ++C برای ساختن رابط های کاربری یا صفحات برنامه استفاده نمی‌شود. در فرآیند توسعه اندروید ، ++C برای ساختن API ها و وظایف backend استفاده می‌شود. توسعه دهندگان front end درگیر توسعه ++C نیستند ، بلکه کارکرد این زبان بیشتر مربوط به API هاست که مربوط به بخش back-end است. کتابخانه های معروفی در + +C  وجود دارند که برای توسعه دهندگان Android در دسترس هستند و میتوانند از آنها در برنامه های خود استفاده کنند.

      نتیجه‌گیری
      اندروید رایجترین سیستم‌عامل در دنیا است. برای ساخت اپلیکیشن اندروید از دو زبان برنامه‌نویسی اصلی یعنی جاوا و کاتلین استفاده شده‌است. در حالی که زبان برنامه‌نویسی جاوا یک زبان برنامه‌نویسی قدیمی است اما زبان کاتلین یک زبان سریع واضح و در حال تکامل است. اگر شما یک توسعه دهنده جدید هستید و به تازگی می‌خواهید توسعه برنامه های اندرویدی را شروع کنید، پیشنهاد من به شما زبان کاتلین است.
             
    • توسط asghar.a83
      سلام دوستان خسته نباشید من یه باتن دارم که میخوام وقتی کاربر روش کلیک کنه یه ثانیه تغییر رنگ بده تا کاربر بفهمه کلیک کرده و از اون حالت بی روحی در بیاد میدونم خیلی سادس ولی تو کاتلین تازه کارم لطفا جواب بدید
    • توسط sina_f2000
      با سلام و خسته نباشید خدمت اساتید بزرگوار 
      یه درخواست داشتم امیدوارم کمکم کنید
      کد ارسال تصاویر یک دایرکتوری از قبل مشخص شده به سمت سرور میخاستم اگه لطف کنید کدش به همراه فایل php بفرستید ممنون میشم
         
  • فایل

×
×
  • اضافه کردن...