![]() |
|
حماية البرامج من الهندسة العكسية - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي الأخرى (https://delphi4arab.net/forum/forumdisplay.php?fid=4) +--- قسم : الامن و تحليل التطبيقات البرمجية (https://delphi4arab.net/forum/forumdisplay.php?fid=31) +--- الموضوع : حماية البرامج من الهندسة العكسية (/showthread.php?tid=6823) |
حماية البرامج من الهندسة العكسية - rahiche - 25-02-2015 قبل كل شيء هذه فقط تنبيهات و نصائح الهندسة العكسية و هي عملية جلب الكود و قرصنة البرامج نعم هذا الموضوع هام جدا لماذا ؟ لأنك ندما تبيع برنامجك لأاحد ما أو يجربه أحد ما و كان له و لو حتا خبرة بسيطة سيتطيع كشف الكثير من الأسرار لذا يجب قرائة هذا الموضوع بتأني : كلمة السر كلمة السر لبرنامج و لا أقصد كود التفعيل فهما يختلفان فكلمة السر يقوم المستخدم بتغييرها كل الوقت و متى يشاء . الأمر الذي يجب أخذه بعين الإعتبار هو أن كلمة السر التي أراها في المنتديات و المجموعات العربية ضعيفة و مستحيل أن نعمل بها و هي استخدام جملة الشرط if لعمل كلمة سر بالإضافة إلى كشف كلمة السر هذا أمر يجب منعه منعا باتا في برامجكم لأنه و بواسطة برامج التنقيح يمكن الوصول إلى كلمة السر بكل سهولة فبرنامج التنقيح يضهرها على انها كود من البرنامج يعني يسهل الوصول إليها و لكن نحن لا نقول لكم تجنبوا استعمال جملة الشر بل تجنبوا استعمال كلمة السر بطريقة مكشوفة يعني كاسم عادي مثلا ربط جملة الشر بحقل من قاعدة بينات محمية بكلمة سر لحمايتها هذا أمر يمكن تجنب الأخطار منه و لكن اذا قمنا بعملية تتبع باستعمال برامج التنقيح سنصل لكلمة السر بكل سهولة و اذا فكرت في وضعهاف في ملف ما على شكل نص أو في محرر التسجيل في الويندوز فانت ترتكب خطأ الأن ماهو الحل ؟ بكل باسطة الطريقة الثانية وضعها في قاعدة بينات و لكن بمراعات خطوة مهمة سنتعرف عليها أسماء المكونات أو الإجرائات و الدوال و هنا يجب أن تستعم أسماء بلغتك الخاصة مثلا تريد عمل زر للإضافة تقوم بعمل اسمم add له هذا خطأ ابتكر اسما من عندك لماذا لأن المهندس العكسي سيحاول معرفة الزر عن طريق الاسم أو اسمم يدل عليه و هو سيجد الإسم لا محالا حتى ولو استعملت اسما من ابتكارك و لكن كن ذكيا بعد كل هذا الاسم ليس الشيء الوحيد الذي يدل المستخد على مكان و أجراء المكون في البرنامج مثلا العنوان سواء كان نصي أو رقمي سيصل له البرنامج اذا ما الحل يوجد حل بسيط مساعد و هو استعمال الصور بدلا من الاسماء هذا ينطبق على مجموعة مكونات فقط اضهار نوافذ و أشياء مثلها مثلا عندما تكون كلمة السر خاطئة لا تحاول جعل البرنامج يصدر للمستخدم نافذة تخبره بانك على خطأ فهذا فقط سيدله على كلمة السر عن طريق عملية التتبع بواسطة برامج التنقيح لذلك يجب عمل أي شيء يدل على الخطأ بدون أي عمل و لا إضهار أي لافتتة إلى اذاك كانت صورة مثلا فهذا سيحميك قليلا و مع كل هذا تعتبر الهندسة العكسية المشكل الوحيد الذي يعانيه المبرمجون فهو عدوه لذا سنتطرق في درس قادم لكل هذا و أشرح لكم كيفية حماية البرامج و كيفية عمل كلمة سر تساعدكم على تحسين قوة البرنامج حماية البرامج من الهندسة العكسية - nabilkeb - 25-02-2015 إقتباس : لذا سنتطرق في درس قادم لكل هذا و أشرح لكم كيفية حماية البرامج السلام عليكم على أمل ذلك .... نحن بالإنتظار لكل ما من شأنه أن ينفعنــا عموما نشكر لك سعيك و بارك الله فيك بالتوفيق حماية البرامج من الهندسة العكسية - مهند الرسيني - 26-02-2015 السلام عليكم ورحمة الله وبركاتة نقاط جيدة تبعد بعض الكاركر الصغار عن برنامجك ![]() على كلاً أحببت أن اضيف بعض الطرق التي تعقد الأمر قليلاً على الكراكر , بما اني دخلت هذا المجال لفترة تسمح لي بتعلم الأساسيات بالنسبة للنقطة الأولى : افضل حل لحماية كلمات السر هو إستعمال دوال تشفير قبل ان تفكر ان تضعها في قاعدة بيانات او غيرها بالنسبة للنقطة الثانية : تستطيع ان تخدع الكراكر المبتدئ بها وهي انك تضع اسماء دوال (وهمية) اي لا تفيد وإنما تحوي اكواد ليست ذات فائدة , وكذلك تستطيع ان تجعل بتلك الدوال بعض الطرق التي توهم الكراكر انها خاصة بالرقم التسلسلي للبرنامج , فالكراكر المبتدئين دائماً يستعملون الطرق التقليدية ولا يتحلون بالصبر ![]() أما عن النطقة الثالثة : فيوجد طريقة جميلة لعمل ذلك وهي من خلال رسم النص بدوال الرسم بدلاً من وضع صورة ( ففكرة الصور اصبحت تقليدية ) , فمثلاً تقوم بوضع دالة تستقبل مصفوفة تحمل ارقام ( ارقام فقط ) , وهذه المصفوفة تقوم بتحويل تلك الارقام إلى حروف وتقوم بطبعتها , ويوجد عده طرق لعمل تلك الخدعه , وهذا مثال بسيط عليها : PHP كود : unit Unit1;وبالنهاية إذا اردت ان لا يتم كسر برنامجك او قرصنته من قبل الكراكر المبتدئين قم بإستعمال الحمايات الجاهزة والمشهورة منها ويجب ان تكون بآخر إصداراتها ملاحظة : المثال المرفق عمل من خلال لازارس حماية البرامج من الهندسة العكسية - rahiche - 26-02-2015 شكرا على التشجيع و على الإضافات الرائعة حماية البرامج من الهندسة العكسية - أبو معاذ - 26-02-2015 [indent] السلام عليكم. أستاذي الحبيب إلى الأمام. وفقك الله لكل خير . تقبل الله عملك. [/indent] حماية البرامج من الهندسة العكسية - محمد عبد العزيز - 26-02-2015 إقتباس :الهندسة العكسية و هي عملية جلب الكود و قرصنة البرامجهذا تعريف خطأ / غير صحيح/دقيق: الهندسة العكسية هي عملية اكتشاف المبدأ التكنولوجي لاداة او نظام من خلال تحليل هيكله او وظيفته او طريقة عمله، غالبا ما يشمل أخذ شيء (جهاز ميكانيكي, آلية جهاز الكتروني او عنصربرنامج حاسوبي) وتفكيكه الى قطع وتحليل طريقة عمله بالتفصيل بغية انشاء جهاز جديد او برنامج جديد يقوم بنفس العمل من دون نسخ الاصل. صفحة الوكيبيدبا الانجليزية بها تعريف ادق من الصفحة العربية. كود : http://en.wikipedia.org/wiki/Reverse_engineeringفي مجالنا هذا هو عكس عمل مهندس البرمجيات او مهندس انظمة الحاسوب . هنا ينبغي التفريق بين المهندس العكسي ومن يسرق البرمجيات/من يوزها/ينسخها/يعبث يها وغير مجال البرمجيات مثل المواقع والهواتف وما له علاقة. في اللغة الانجليزية لكل فئة اسم معين Hacker/Reverser/Cracker/Phreacker/...Warez عودة للموضوع العنوان الهندسة العكسية والحماية وهنا المفهوم الحماية من النسخ غير المشروع للبرمجيات Copy protection لكن محتوى الموضوع كلمة السر! هذا متلق بالاستخدام وليس الحماية كانك تصك كلمة سر لبرنامجك كي لايستخدمه احد غيرك بالعمل او البيت لكن هذا لايمنعه من نسخه كاملا! إقتباس :التي أراها في المنتديات و المجموعات العربية ضعيفة و مستحيل أن نعمل بها و هي استخدام جملة الشرط ifملاحظتين: أولا هذا يعني انك لم تبحث جيدا بالمنتدبات العربية فهناك طرق تم ذكرها منذ سنين! ثانيا بما ان الموضوع كلمة سر فانك ستقوم بمقارنها سواء بIF او بطريقة غيرها قد تبدو لك نها ليست IF لكنها في النهاية مقارنة. مسالة الحماية تختصر في جملة: "البرنامج قابل للتنفيذ فهو قابل للكسر". بدلا من اضاعة الوقت بأمور الحماية استغل وقتك بتطوير مهاراتك/برنامجك واجعله أحسن. حماية البرامج من الهندسة العكسية - rahiche - 26-02-2015 b.m.abdelaziz كتب : نعم شكرا جزيلا على النصائح المفدية أفدتني كثيرا أخي عبد العزيز فقط أردت الإشارة لشيء واحد فقط انا قمت بتعريف الهندسة العكسية في مجال البرمجة و أيضا أردت عمل شرح مبسط أنا الآن كمبتدء لم أفهم ما كتبته في تعريفك و اذا درته سيكون ممل لذا أنا أقوم بعمل شرح مبسط أو مدخل تعريفي فقط لكي يفهم من ليس لديه أي خبرة في الموضوع و شكراااااا جزيلا على كل معلوماتك حماية البرامج من الهندسة العكسية - nabilkeb - 26-02-2015 كل الشكرا لك أخي الفاضل عبد العزيز و بارك الله في علمك إقتباس : لذا أنا أقوم بعمل شرح مبسط أو مدخل تعريفي فقطبالتوفيق و لا بأس واصل (مادام ها هنا من يصحح و يوجه و يزيد في المعلومات) حماية البرامج من الهندسة العكسية - مهند الرسيني - 27-02-2015 إقتباس :ملاحظتين:+1 , وكذلك هناك منتديات عربية متخصصه في هذا المجال الواسع إقتباس :مسالة الحماية تختصر في جملة: "البرنامج قابل للتنفيذ فهو قابل للكسر".هههههههه أعجبتني "البرنامج قابل للتنفيذ فهو قابل للكسر" لكن البحث عن افكار لحماية برناج ليست اضاعة وقت , فكلنا نعرف ان البرنامج قابل للكسر , لكن الهدف هو ان نحمي برنامجنا من أيدي صغار الكراكر لانه إذا تم كسر برنامجك من قبل كراكر مبتدئى فهذه تعني انك ستخسر بدون مقابل , بينما لو تم كسر برنامج من قبل كراكر محترف فهذه انك ستخسر بعض المال مقابل داعية تصل إلى جميع رواد الإنترنت خذ على سبيل المثال لا الحصر Delphi XE , اعتقد انه كسب شهرته من الكراكر وكذلك نظام ويندوز ؛) . تحياتي . حماية البرامج من الهندسة العكسية - rahiche - 27-02-2015 [COLOR="Red"] أخي عبد العزيز شكرا على ما تقدمه و انا عندما قلت استخدام جملة الشرط if لم اعني ما قصدته تمام فجميع الطرق تعتمد على مبدأ المقارنة لكن أنا قصدت الجمل الضعيفة و التي رأيتها في الكثير من المنتيادات و لا أقصد الكل لكن تعد على رؤوس الأصابع على حسب ما رأيت [/COLOR]
شكرا على كل الشرح و تقبل ***** |