Reverse_Engineering



الهندسة العكسيَّة



ماهي الهندسة العكسيَّة ؟!

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

استخدامات الهندسة العكسيَّة 

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

و تستخدم في جوانب البرمجة , فالمعربين (الذين يقومون بتعريب البرامج الأجنبية ) يستخدمون الهندسة العكسية في تغيير قيم الجمل و العبارات والكلمات من لغة البرنامج الأصلية إلى العربية , معدلين بذلك على البرنامج نفسه .

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

هل يقتصر هذا العلم على البرمجة فقط ؟؟!!

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

الموضوع يعتمد بدرجة كبيرة على هدفك النهائي .

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


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

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

المصدر: 
Reverse_Engineering

Reverse_Engineering Reverse_Engineering بواسطة habeeb on 02:47:00 Rating: 5

No comments

مدون محترف