مضى على الشبكة و يوم من العطاء.

[ شرح ] أساسيات لغة C | المراحل التي يمر بها الكود 0x00

N0Tb1t

./عضو جديد

firefox
linux

السمعة:

السلام عليكم ورحمة الله وبركاته

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


المراحل التي يمر بها كود لغة C

اولاً يكون لدينا الكود المصدر (Source Code) وهو الذي يكون بامتداد '.c' والذي يكون فيه الكود الذي قمنا بكتابته
حسنا هذا الكود يمر بمراحل قبل أن ينفذ ومن المهم جداً ان نعلم هذه المراحل :

1. المعالجة المسبقة التي تعرف (Preprocessor) وهذه المرحلة يتم فيها عدة خطوات من أهمها :
  • إزالة التعليقات
  • توسيع وحدات الماكرو
  • توسيع الملفات المضمنة
يكون الملف بامتداد '.i'


2. المترجم (Compiler) :
تقوم هذه المرحلة بتحويل الكود إلى لغة التجميع 'Assembly' ويكون الملف بامتداد '.s'


3
. المجمع (Assembler) :
بهذه المرحلة يقوم المجمع بتحويل كود لغة التجميع إلى لغة الآلة والتي هي تكون عبارة عن صفار وواحدات (0, 1)
ويكون الملف بامتداد '.o'


4. الرابط (Linker) :
هذه المرحلة يتم فيها ربط جميع استدعاءات الوظائف بتعريفاتها
نهايةً يكون الملف قابل للتنفيذ بامتداد '.exe'


WhatsApp Image 2025-05-25 at 12.34.19 AM.webp


من المهم كتير تتعلم كيف بتطبق هي الخطوات يدويا وتعمل نظرة عالكود كيف بيتغير من مرحلة لمرحلة

هاد الرابط بيشرح كيف بتعمل هي الخطوات على لينيكس
 
السلام عليكم ورحمة الله وبركاته

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


المراحل التي يمر بها كود لغة C

اولاً يكون لدينا الكود المصدر (Source Code) وهو الذي يكون بامتداد '.c' والذي يكون فيه الكود الذي قمنا بكتابته
حسنا هذا الكود يمر بمراحل قبل أن ينفذ ومن المهم جداً ان نعلم هذه المراحل :

1. المعالجة المسبقة التي تعرف (Preprocessor) وهذه المرحلة يتم فيها عدة خطوات من أهمها :
  • إزالة التعليقات
  • توسيع وحدات الماكرو
  • توسيع الملفات المضمنة
يكون الملف بامتداد '.i'


2. المترجم (Compiler) :
تقوم هذه المرحلة بتحويل الكود إلى لغة التجميع 'Assembly' ويكون الملف بامتداد '.s'


3
. المجمع (Assembler) :
بهذه المرحلة يقوم المجمع بتحويل كود لغة التجميع إلى لغة الآلة والتي هي تكون عبارة عن صفار وواحدات (0, 1)
ويكون الملف بامتداد '.o'


4. الرابط (Linker) :
هذه المرحلة يتم فيها ربط جميع استدعاءات الوظائف بتعريفاتها
نهايةً يكون الملف قابل للتنفيذ بامتداد '.exe'


مشاهدة المرفق 17543


من المهم كتير تتعلم كيف بتطبق هي الخطوات يدويا وتعمل نظرة عالكود كيف بيتغير من مرحلة لمرحلة

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

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

و بالتوفيق
إن شاء الله
بارك الله فيكم
 
السلام عليكم ورحمة الله وبركاته

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


المراحل التي يمر بها كود لغة C

اولاً يكون لدينا الكود المصدر (Source Code) وهو الذي يكون بامتداد '.c' والذي يكون فيه الكود الذي قمنا بكتابته
حسنا هذا الكود يمر بمراحل قبل أن ينفذ ومن المهم جداً ان نعلم هذه المراحل :

1. المعالجة المسبقة التي تعرف (Preprocessor) وهذه المرحلة يتم فيها عدة خطوات من أهمها :
  • إزالة التعليقات
  • توسيع وحدات الماكرو
  • توسيع الملفات المضمنة
يكون الملف بامتداد '.i'


2. المترجم (Compiler) :
تقوم هذه المرحلة بتحويل الكود إلى لغة التجميع 'Assembly' ويكون الملف بامتداد '.s'


3
. المجمع (Assembler) :
بهذه المرحلة يقوم المجمع بتحويل كود لغة التجميع إلى لغة الآلة والتي هي تكون عبارة عن صفار وواحدات (0, 1)
ويكون الملف بامتداد '.o'


4. الرابط (Linker) :
هذه المرحلة يتم فيها ربط جميع استدعاءات الوظائف بتعريفاتها
نهايةً يكون الملف قابل للتنفيذ بامتداد '.exe'


مشاهدة المرفق 17543


من المهم كتير تتعلم كيف بتطبق هي الخطوات يدويا وتعمل نظرة عالكود كيف بيتغير من مرحلة لمرحلة

هاد الرابط بيشرح كيف بتعمل هي الخطوات على لينيكس
ما شاء الله!
من اول المتابعين للشرح 🔥
 

آخر المشاركات

عودة
أعلى