Header Ads Widget



ماهي الهندسه العكسية نبذة بسيطة عن تعريف مفهوم الهندسه العكسيه في عالم الانترنت للمبتدئين reverse engineering





الهندسه العكسيه بالطبع بكل تأكيد هي تستخدم في البرمجه العكسيه وايضآ لأشياء اخري كثيره في عالم الويب في الانترنت ولكن في موضوع اليوم او في مقال اليوم سوف نتحدث بصيغه بسيطة عن تعريف الهندسه العكسيه فقط لا غير .

ماهو مفهوم وشرح الهندسه العكسيه reverse engineering

ماهي الهندسه العكسيه؟

Reverse Engineering

شرح الهندسه العكسيه البرمجيه ونبذة بسيطة لتعريف ماهي الهندسه العكسيه ف عالم الويب الانترنت .

ماهي الهندسه العكسية نبذة بسيطة عن تعريف مفهوم الهندسه العكسيه في عالم الانترنت للمبتدئين reverse engineering



شرح reverse engineering


reverse engineering

نبذة بسيطة عن تعريف مفهوم الهندسه العكسيه في عالم الانترنت للمبتدئين reverse engineering

الهندسه العكسية في البرمجيات :-

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


Reverse Engineering


الهندسة العكسية ببساطة هى عملية تفتيت شئ ما لعناصره الاولية لمعرفة كيف يعمل بغرض تقليده او تحسين عمله 

الهندسة العكسية فى الصناعات القديمة

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




الهندسة العكسية فى مجال البرمجيات

ما يهمنا هنا هو استخدامات الهندسة العكسية فى المجال التقنى حيث تستخدم فى تحليل البرامج التى ليس لها كود مصدرى source code بهدف اصلاح مشاكل فى البرنامج او تحسين ادؤه او اكتشاف الفيروسات فيه او بهدف جعل البرنامج متوافق مع بروسيسور غير الذى كتب من اجله او استخدامات اخرى تعد غير مشروعة مثل نسخ برامج او الحصول على كراكات للبرامج ويعد هذا انتهاك لحقوق الملكية .
 

تقوم فكرة عمل الهندسة العكسية فى مجال البرمجة الى تحويل البرنامج الى لغة الالة machine language وهى اللغة البدئية التى يفهما الكمبيوتر بعد ذلك يمكن تحليل وفهم البرنامج والجدال القائم دائمًا حول مشروعية الهندسة العكسية وهل تعد اختراق لحقوق الملكية ام لا ولكن الارجح الان ان بعض اشكال الهندسة العكسية

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


الهندسه العكسية ( هي تعتبر هندسه عكسيه لعده اشياء كثيره )

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

هل تقتصر الهندسة العكسية او Reverse Engineering على البرمجة فقط؟

قطعا لا, فالهندسة العكسية تستخدم في علم الميكانيكا, كان اليابانيون قديما يشترون المحركات الانجليزية و يقومون بفكها و فهم و دراسة اجزائها بانفسهم, ثم يعيدوا تجميعها و صنع محركات محلية مشابهة لنظيراتها الاوروبية.

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




الهندسة العكسية في البرمجيات

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

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

تحتاج إلى خبرة في التعامل مع الذاكرة والمسجلات ووحدة المعالجة المركزية.


هل الهندسة العكسية أمر قانوني أم لا؟

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

أذكر هنا واحدة من أشهر القضايا في الهندسة العكسية, بين شركتي سيجا اليابانية المشهورة بصناعة أجهزة الالعاب و ألعاب الفيديو, و شركة أكولاد الأمريكية المبرمجة للألعاب. في عام 1990 قامت شركة سيجا بصناعة جهاز ألعاب الفيديو الحديث حينئذ (جينسيس) و لم تفصح عن أي وثيقة تقنية عن معالج هذا الجهاز حتى لا يمكن لأي شركة أخرى برمجة ألعاب للجهاز الا هي. فقامت شركة أكولاد بعمل هندسة عكسية على معالج الجهاز الحديث جينسيس و قامت بفهم بل و طباعة اول وثيقة تقنية تتحدث عن آلية البرمجة على هذا المعالج, و بدأت بصناعة و بيع ألعاب خاصة بها تعمل على جهاز جينسيس, ولكن سرعان ما أكتشفت سيجا ذلك.

و قامت برفع قضية دولية على شركة أكولاد, بسبب نشرها وثيقة تفصح فيها عن اسرار و تفاصيل تقنية من شأنها أن تتسبب في خسائر كبيرة للشركة, فأنتهت القضية لصالح شركة أكولاد الامريكية بحجة أن أكولاد لم تهنتك أي قانون دولي, بل قامت ببرمجة ربحية للمعالج جينسيس و انتهى الأمر على ذلك.


سأكتفي بهذا القدر, لعل القارئ قد لاحظ اننا لم نركز على اي نقطة تقنية في هذا المقال, بل تطرقنا لفهم الهندسة العكسية بشكل سريع و بسيط, و بأذن الله سأبدأ بكتابة مقال عن الادوات التي استعملها في علم الهندسة العكسية و شرح بسيط لكل أداة, كما سأحاول بأذن الله في المستقبل كتابة مقالات تقنية عن الهندسة العكسية لأوضح أكثر أهمية هذا العلم, حسن أستثماره.