اذهب إلى المحتوى
  • 0

كيفية حماية تطبيقات flutter

Marwan800

السؤال

السلام عليكم ورحمة الله وبركاته

تحيه طيبه للجميع.

بعد الانتهاء من برمجة تطبيق بللغة flutter كيف ممكن احمي الكود او التطبيق؟ من الهندسة العكسيه وغيرها اي افكار لو تكرمتو؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 3

مرحبا مروان،

إن عملية حماية اي تطبيق مهما كانت المنصة المبرمج فيها وبنسبة 100% هو أمر مستحيل.

دائما يوجد طريقة للاختراق وإعادة تشكيل الشيفرة البرمجية الأصلية بعملية عكس الترجمة decompile.

هل يمكن جعل عملية الهندسة العكسية غير مفيدة إلى حد ما؟ نعم، عن طريق جعل الشيفرة البرمجية أصعب للفهم من قِبل المخترق.

تتم هذه العملية عن طريق تغيير اسماء الصفوف و المتحولات و الإجرائيات في الشيفرة البرمجية و إعطائها أسماءً طويلة و غير مفهومة.

تدعى هذه العملية ب Obfuscating Dart code مثل إزالة الوضوح عن الشيفرة البرمجية، فبعد عملية الهندسة العكسية، ينتج برنامج غير واضح المعالم وصعب الفهم و التعقب.

توفر Flutter طريقة خاصة لعمل هذا الأمر بشكل بسيط يمكنك تعلم الطريقة بتنفيذ تعليمة محددة أثناء بناء التطبيق من هنا: Obfuscating Dart code.

هي طريقة سهلة وتعتبر تمرير بارامترات لعملية بناء التطبيق وليس أكثر بالنسبة للمستخدمين.

بالنسبة لمنع حصول الهندسة العكسية، هو أمر غير ممكن.

بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

وعليكم السلام ورحمة الله تعالى،

مرحبًا @Marwan800،

يجب عليك في البدايية التعرف على من سيستهدف تطبيقك ولماذا؟
ما نوع الأشخاص الذين يرغبون في إجراء هندسة عكسية لتطبيقك؟ لماذا ا؟ ماذا سيخرجون منه؟

هل هم هواة يستمتعون بتطبيقك ومن المحتمل أن يساعدوا عملك من خلال تعزيز مجتمع من المتحمسين للقراصنة؟ هل هم منافسون في العمل؟ إذا كان الأمر كذلك ، فمن؟ ما هو دافعهم؟ كم سيكسبون؟

هذه الأسئلة كلها مهمة جدًا لطرحها لأنه في نهاية اليوم، كلما زاد الوقت الذي تستثمره في قفل الكود الخاص بك، زادت تكلفة ذلك عليك وزادت تكلفة الهندسة العكسية للخصم. يجب أن تجد المكان المناسب بين قضاء بعض الوقت في تقوية التطبيق إلى الحد الذي يجعل معظم الأشخاص الفنيين لا يرغبون في قضاء الوقت في محاولة إحباط دفاعات تطبيقك.

يمكنك اتباع الاقتراحات الآتية،
قم بإنشاء ما يسمى "نموذج التهديد Threat Model". هذا هو المكان الذي تجلس فيه وتفكر في وحدات ومكونات التطبيق الخاص بك، وتجري بحثًا حول المجالات التي من المرجح أن تتعرض للخطر وكيف. يمكنك تحديدها عدة مرات في رسم تخطيطي، ثم استخدام نموذج التهديد هذا لمعالجتها بأفضل ما يمكنك في التنفيذ. ربما تصيغ 10 تهديدات ، لكنك قررت أن 3 فقط هي الأكثر احتمالًا ، وتعالج تلك الثلاثة في الكود أو البنية.

اعتماد بنية تثق في تطبيق العميل بأقل قدر ممكن. بينما يمكن لمالك الجهاز دائمًا عرض رمز التطبيق وحركة مرور الشبكة، لا يمكنه دائمًا الوصول إلى الخادم. هناك أشياء معينة يمكنك تخزينها على الخادم مثل مفاتيح واجهة برمجة التطبيقات الحساسة والتي لا يمكن للمهاجم الوصول إليها. ابحث في "AWS Secrets Manager" أو "HashiCorp Vault" على سبيل المثال. لكل وحدة عميل ، اسأل نفسك "هل سيكون من الجيد أن يرى المهاجم الأعمال الداخلية لهذا؟" "لما لا؟" وإجراء التعديلات اللازمة.

قم بتطبيق التعتيم إذا كان نموذج التهديد الخاص بك يتطلب ذلك. الحقيقة هي أنها آلية حماية فعالة في كثير من الحالات.

علاوة على ذلك، فإن الحجة المذكورة أعلاه لا معنى لها. لا يمنع التشفير الأشخاص من الحصول على بياناتك، بل يؤدي فقط إلى إبطائهم ... . يتم اختيار معظم أقفال الأبواب بسهولة بواسطة منتقي أقفال ماهر في ثوانٍ، ويمكن إطلاق النار على الأشخاص من خلال سترات واقية من الرصاص ، ويموت الأشخاص أحيانًا في حادث سيارة عند ارتداء حزام الأمان ... لذلك لا ينبغي لنا قفل الأبواب، وارتداء السترات، وارتداء أحزمة المقاعد لدينا؟ لا، سيكون ذلك سخيفًا، لأن هذه الأجهزة تقلل من احتمالية حدوث مشكلة ، تمامًا مثل التشويش ، وتجريد الرموز ، وتطوير بنية أكثر أمانًا، واستخدام خدمة Secrets Manager لتخزين أسرار واجهة برمجة التطبيقات الخاصة بك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...