Uncategorized

الإختراق بإستخدام الهندسة العكسية

اذا كنت مهتم بمجال الهندسة العكسية والاختراق بشكل خاص وأمن المعلومات بشكل عام فإن هذا المقال لك. حيث سنوضح من خلال موقع 0ffensive sec كل شئ عن الهندسة العكسية والاختراق . على سبيل المثال، ما هو علم الهندسة العكسية او الـ Reverse Engineering؟. وما هي الاستخدامات الخاصة بالـ Reverse Engineering الهندسة العكسية في مجال أمن المعلومات؟. ما هي اهم لغه برمجه تحتاج الى تعلمها في هذا المجال؟. اهم الأدوات التي تساعدك في الهندسه العكسيه؟. ما هي طرق واساليب الهندسه العكسيه؟. لذلك تابع معي السطور القادمة بتركيز.

ما هو علم الـ الهندسة العكسية Reverse engineering؟

قد يعتبر علم الهندسة العكسية والاختراق Reverse Engineering علم ليس مختص فقط بعلوم أمن المعلومات. و لكن هو علم يهتم بتحليل البنيه الخاصة بأي Software او Hardware. من أجل الوصول الى اساسيات تصنيعه ومكوناته بشكل كامل. وذلك من خلال إعادة تصنيعه.

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

في مجال الهندسة العكسية والاختراق فإن كثير من المستخدمين يستخدمون الـ Cracks و الـ Keygens. ونتيجة لذلك يتم استخدام بعض البرامج دون شرائها. هل فكرت فى يوم كيف يتم صناعتها؟.

الفكرة أن هذه البرمجيات يتم صنعها عن طريق تحليل كل خطوات البرنامج بشكل كامل. و معرفة اين يأتي كود الحمايه للبرنامج حتى لا يتم غلقه على جهازك فقط. و هنا يكون دوره كمبرمج من اجل عمل الAnti-License Software فى شكل Crack او Keygen.
بالطبع ليس هذا الاستخدام الوحيد و لكن هناك العديد من الاستخدامات مثل :

1- Security Auditing  فى التدقيق الأمني.

2- Product analysis تحليل المنتجات.

3- Extremely useful when you lost documentation :  فى حالة فقدان المستندات الخاصة بالبرمجيات.

4- Competitive technical intelligence : كثير من المصنعين يستخدمون الهندسة العكسية والاختراق Reverse Engineering على سبيل المثال، لمعرفة كيفيه و نقاط ضعف و قوة المنتجات المنافسة .

5-  Software Improvement : التطوير المستمر للبرمجيات الخاصة بكل مؤسسة عن طريق التحليل من وجهة نظر عكسيه.

أقرأ أيضا : الاختراق باستخدام الهندسة الاجتماعية أكثر طرق الإختراق فاعلية

Reverse Code Engineering (RCE)

تنقسم الهندسة العكسية والاختراق الى أقسام عنديدة منها الهندسة العكسية للبرمجيات.

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

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

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

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

– Disassembler:

و هو كيفية تحويل البرنامج من لغة Machine Language  الى Assembly Language. ولذلك يتم تحليل كيفية يعمل البرنامج مع الـ Resources الخاصة بجهازك.

– Decompiler  : وهو تحويل الـ Code الخاص بأي برنامج الى لغه برمجيه مثل ال C او C++.

– Packers or un-packers:

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

– Hex Editing: كيفية الحصول على الـ Binary Code الخاص بالبرنامج .

– Cryptography : كيفية استخدام التشفير فى اي برنامج ونقاط الضعف. ولذلك تكون نتيجة عن استخدام Encryption Key او Algorithm سهل الكسر.

ما هي اهم لغه برمجه تحتاج الي تعلمها في هذا المجال؟

 Assembly Language

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

بعض اهم ادوات التي سوف تساعدك في مجال الهندسه العكسيه ؟

1 – PEID.

2 – OLLYDBG.

3 – IDE.

4- Immunity Debugger.

طرق واساليب الهندسه العكسيه ببساطه

اساليب الهندسة العكسية
اساليب الهندسة العكسية

1 -Serial Phishing.

2 – general reverse engineering.

3 – KEYFILING.

4 – Code injection.

5 – Brute forcing.

6 -Patching Reversing.

7 – key generator.

8 – LOADER Files.

هى من الطرق واساليب الهندسة المشهوره وكل اسلوب له آلية عمل مختلفه عن الاخر. ونتيجة لذلك تصل الى هدفك الاساسي. هو كسر برامج بطريقه سليمه بدون تعطيب الملف.

 لهذا يخسر الكثير من الشركات والمبرمجين الكثير من المال بسبب كسر برامجهم. ولذلك يمكن ان يدل على شيء هو ضعف الخبره في حمايه البرامج.

ولذلك يلزم ان يكون المبرمج على علم بمجال الهندسة العكسية والاختراق. ونتيجة لذلك يستطيع ان يحميه و يتم عمل testing بشكل منهجي وهناك العديد من الـ frameworks التي تخدم هذا الأمر مثل الـ SDLC. على سبيل المثال الـ frameworks التي تخدم الـ testing مثل:

Linear testing  , modular based testing , library architecture , keyword-driven , hybrid testing

المرجع أو المصدر

أقرأ أيضا : الأمن السيبراني طريقك للدخول إلى مجال أمن المعلومات

أقرأ أيضا : مفهوم علم الهندسة العكسية بشكل عام ومفصل

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى