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

مقدمة في الهندسة العكسية ( الجزء التاني )

0 تعليق هندسة عكسية 19- سبتمبر -2016 الوليد بن علي

مقدمة في الهندسة العكسية ( الجزء التاني )

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

كيف تبدأ ؟

أوﻻً و قبل كل شيئ نحن نتحدث عن الهندسة العكسية للبرمجيات أي أن أي برنامج أو ملف مهما كانت هيكلة بنائه أو غرضه على الحاسب يعتبر هدف مقصود للتحليل و التفصيل, و لكن الخطوة الأولى دائماً أن تكون على علم بالمبادئ العامة للبرمجة و أي لغة برمجة تنفعك ﻻ شك و لكن لغة السي هي السيدة الأولى بالنسبة لي, أما بالنسبة للغة التجميع (الأسيمبلي ) فهي اللغة الأهم

لغة, الأسيمبلي, assembly, assembly language

syntax لغة الأسيمبلي

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

c, c language, programing

لغة السى, C Language

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

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

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

Links :

https://www.tutorialspoint.com/assembly_programming/index.htm

https://www.tutorialspoint.com/assembly_programming/index.htm

https://www.cybrary.it/0p3n/information-research-content-categorization/

: Books

Assembly language step by step
Programming from the ground up
Reverse Engineering for Beginners
The c programming language
Pointers and memory ( c pointers )
operating system concept 8 edition
Computer Systems : A Programmer’s Perspective

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

الوليد بن علي

well

الوليد من القاهرة , مهتم بأمن المعلومات عموماً و بتقنيات الهندسة العكسية و تحليل البرامج و أنظمة التشغيل .

إضافة تعليق