• [ يمنع ] طرح أي موضوع يحوي على كراكات أو باتشات او كيجنات من غير فحصها عبر موقع فيروس توتال [ virustotal.com ] وطرح رابط الفحص ضِمن الموضوع.

الحالة
مغلق و غير مفتوح للمزيد من الردود.

black007

إداري سابق وداعم للمنتدى (خبير فحص ملفات)
داعــــم للمنتـــــدى
★ نجم المنتدى ★
عضوية موثوقة ✔️
كبار الشخصيات
إنضم
17 يونيو 2013
المشاركات
4,600
مستوى التفاعل
24,179
النقاط
2,970
الإقامة
Egypt
غير متصل
96457


92878


الإخـــــوة الكـــــــــرام ;

أعضــــــار وزوار منتديــــــات زيــزووم للأمـــن والحمايــــة

أسعــد الله يومكـــم بكل خيـر ووفقكــــم لما يحبــه ويرضــاه

نلتقي وإياكــم مع أولى دروس دورة الهندسة العكسية ،

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


yOquCB8.png


ولكن قبل الخوض في تفاصيل الموضوع .. توضيح بسيط بخصوص عنونة مواضيع الدورة
كما أشرنا في مقدمة الدورة أن الدورة ستنقسم لـ 3 مراحل رئيسية
دورة الهندسة العكسية || كسر تطبيقات الدوت نت [2:1]

حيث رقم 1 يشير إلى المرحلة الحالية من الدورة
ورقم 2 يشير إلى الدرس الحالي من المرحلة الحالية


yOquCB8.png


للرجوع إلى الموضوع الرئيسي :

المصدر: دورة الهندسة العكسية || كسر تطبيقات الدوت نت
في منتدى : منتدى نقاشات واختبارات برامج الحماية
rXOvLJb.gif


][ مقدمـــــــة الموضــــوع ][

تعتمد لغات البرمجة مثل ++C و Visual Basic على مترجم خاص (Compiler)
وظیفته تحویل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .
rXOvLJb.gif


أما مع الحزمة الجدیدة من لغات البرمجة التي تعمل ضمن بیئة الدوت نت، فقد أصبح الأمر مختلف
، فھي تتبع المنھج التالي في إنتاج و تشغیل تطبیقات الدوت نت

- یحول المترجم الخاص بالدوت نت (Compiler) الشیفرة المصدریة (Source) إلى لغة وسیطة (ذIntermediate Language) و یرمز لھا اختصاراً بـ (IL) و ینتج عنه ملف تنفیذي یحتوي على تعلیمات اللغة الوسیطة


- عند تشغیل الملف التنفیذي السابق تتولى منصة التشغیل العامة (Common Language Runtime) و التي یرمز لھا أختصاراً (CLR) و المضمنة ضمن اطار عمل دوت نت (Net Framework Machine Code) بتحويل هذه التعليمات (اللغة الوسيطة) إلى لغة الألة التي يفهمها النظام ويتعامل معها

- إلى الأن البرنامج لم ينتقل إلى مرحلة التنفیذ و تعرف المرحلة السابقة بـ (Just In Time Compile) و اختصاراً (JIT Compiler)

- بعد ذلك یتسلم النظام تعلیمات لغة الآلة و ینفذھا
rXOvLJb.gif


][ بنية تكون التطبيقات المبرمجة بالدوت نت ][

تتكون التطبيقات المبرمجة بالدوت نت من عدة أقسام وهي :

- PE Header :
هو القسم الذي يحتوي المعلومات العامة كاصدار البرنامج و معلومات عن الاقسام الموجودة بالتطبيق و نقطة الادخال و تاريخ انتاج التطبيق و معلومات عن اجزاء التطبيق اللازمة كي يعمل بشكل سليم خالِِ من الأخطاء


yOquCB8.png


- Unmanaged Stub :
هذا القسم يحوي على معلومات يحتاجها لودر(Loader) نظام الويندوز كما شرحنا سابقاً كي يقوم بتحميل تطبيق
و من ثمه يقوم لودر الويندوز بالتعرف من خلال الـ PE Header على قسم +COM
فيؤؤل إكمال تشغيل التطبيق الى الـ CLR و هي دلالة مختصرة لـ (Common Language Runtime)
و يتم بها عمليات واسعة من المعالجة و تطبيق عمليات الربط و الكومبايل في وقت الاستخدام
بالاستعانة بمكتبات عديدة و اهمها و هي المسؤولة عن بدء التطبيق ألا و هي Mscoree.dll


yOquCB8.png


- Met a Data :
و هذا الجزء الهام من تطبيقات الدوت نت يحتوي على معلومات هامة عن التطبيق كنقطة ادخاله من نوع Managed و بيانات اخرى يحتاجها الـ CLR ليقوم ببدأ تشغيل تطبيقك


yOquCB8.png


- MSIL Code :
و هو الجزء الرئيسي بكل تطبيقات الدوت نت حيث انه مهما كانت اللغة التي تبرمج بها باستعانة منصة الدوت نت فسيتم تحويل كل اكوادك فيها الى لغة واحدة مشتركة اسمها MSIL و هي اختصار لجملة (Microsoft Intermediate Language) و يتم حفظ كل اكوادك في جزء من التطبيق بصيغة هذه اللغة يتم تفسيرها وقت التشغيل و تحويلها الى اللغه التي يفهمها نظام التشغيل بواسطة الـ JIT التي ذكرناها سابقاً و بمساعدة الـ CLR


yOquCB8.png


- Resources :
يحوي الموارد التي يحتاجها التطبيق من Manifest لتعريف بيئة العمل و اصدار التطبيق و المعلومات عنه و أيقونته


rXOvLJb.gif


وفي الختـــام نتمنى لكم الإستفادة
راجين من الله أن نكون قد وُفِقنا في إيصال المعلومة للجميع
بشكل مبسط ويسير ، يسهل على الجميع فهمه

 

التعديل الأخير بواسطة المشرف:
توقيع : black007
][ الإستفسارات الواردة حول الدرس ][

dD6FYvT.png


الإستفسار الأول :

هل الدوت نت لغة برمجة مستقلة مثلها مثل Visual Basic
ام انها بيئة تشغيلية تعمل ضمنها باقى لغات البرمجة وهل
الدوت نت هى برامج دوت نت فريم ورك


الإجابة :
بعد إذن أخي عمرو

لغة Visual basic.net مختلفة إختلافا كاملا عن لغة Visual basic 6 بل هي لاتشبها في إي شيئ إطلاقا سوى طريقة كتابة الأكواد
وذلك لأن مايكروسوفت أرادت إلغاء دعم لغة visual basic 6 لطرح لغة البرمجة الجديدة C# لكنها في نفس الوقت لم ترد أن تستغني عن آلاف من مبرمجي Visual basic 6
لذلك حورت لغة visual C#.net الى لغة Visual basic .net لتتم كتابة الأكواد بطريقة الـ Visual Basic 6
لكن في الأصل لغة C# ولغة Visual basic .net ما هما إلا وجهان لعملة واحدة فكلاهما يتم ترجمتهما اللى لغة مايكروسوفت الوسيطة IL ليقوم بعد ذلك أطار عمل >net Frame Work بتشغيلها
لذلك فإن التطبيقات المبرمجة بالفيجوال بيسيك دوت نيت لا تعمل دون وجود إطار عمل >net Frame work على عكس تطبيقات Visual Basic 6 التي تعمل ذاتيا دون الحاجة الى إي من برامج التشغيل

والتي شرحها أخونا بلاك

يعني سواء أكتبت البرنامج بالسي شار أو بالدوت نيت فالناتج واحد
لولا ان السي شارب تتفوق في بعض النواحي مثل دعم المكتبات والدوال بشكل أكبر من لغة الفيجوال بيسيك دوت نيت
لذلك عندما نبرمج ملف بالدوت نيت يمكن تنقيحه باستخدام برنامج .Net Reflector يمكن عرض أكواد الملف بلغة Visual basic .net أو C# مهما كانت لغة برمجته
المهم أن تكون لغة .net

الخلاصة لغة Visual Basic.net ليست مستقلة بحد ذاتها فهي جزء من منصة عمل Visual Studio.net والذي يحتوي على لغات أخرى مثل C#.net وغيرها

,

اهلا بك اخى ناسا
للاجابه على استفسارك ستجد اجابته فى اول الموضوع

هذه الجزئيه تحديدا

تعتمد لغات البرمجة مثل ++C و Visual Basic على مترجم خاص (Compiler)
وظیفته تحویل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .

لغه الفيجول بيزك دوت نت هى تطوير للغه البيزك القديمه
ولقد تم تطويرها من ميكروسوفت فكما قلنا ان كل لغه تحتاج الى مترجم خاص بها لكى يقوم بتحويل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .

اى بمعنى اصح ان لغه البيزك دوت نت تعتمد على مكتبه الدوت نت فيرم ورك لكى تقوم بترجمه الشفره المصدريه
لكى يستطيع النظام ان يفهمها بدون الحاجه الى تحولات اخرى
dD6FYvT.png

الإستفسار الثاني :

بالنسبة لمن يريد تعلم هذه اللغة (الدوت نت) يتعلم على اى اصدار من لغة الفيجول بيزك؟


الإجابة :

فيجول بيزك دوت نت واختصارها

VB.NET

يكفيك فقط اكتب فى جوجل او يوتيوب ( دوره تعليم VB.NET ) وستخرج لك الاف النتائج

بالنسبه للمنصه التى ستبرمج عليها

فاى اصدار فيجول استديو ابتداء من 2008 حتى 2013 او 2015 الى نزل مؤخرا طبعا باختلاف النسخه بين express او professional او ultimate

لان منصه الفيجول استديو تتحي لك العمل باى لغه انت تحبها VB.Net او #C او ++C

على حسب اللغه التى تعلمتها

بالتوفيق

dD6FYvT.png


الإستفسار الثالث :

ماهي تعليمات اللغة الوسيطة ( IL ) المذكور بأول الموضوع


الإجابة :

دورة الهندسة العكسية || كسر تطبيقات الدوت نت [2:1] نبذة عن اللغة الوسيطة (IL) وتعليماتها

 
التعديل الأخير:
توقيع : White Man
بسم الله مشاء الله
احسنتم وبارك الله فيكم
موضوع ممتاز

عندى استفسار
هل الدوت نت لغة برمجة مستقلة مثلها مثل Visual Basic
ام انها بيئة تشغيلية تعمل ضمنها باقى لغات البرمجة وهل
الدوت نت هى برامج دوت نت فريم ورك
 
توقيع : nasa3
بارك الله فيكم ياشباب على الأنطلاقة القوية
بإذن الله ستكون هذة الدورة من أروع الدورات في المنتديات العربية
وأنصح الشباب بالتفاعل وطرح الأسئلة والأهم قبل ذلك هو البحث في الإنترنت والمواقع العربية والأجنبية عن إي معلومات جديدة ويمكنهم تبسيطها أمامنا
وبالتالي نتبادل معلومات شاملة عن اللغة دون بذل مجهود كبير
ود ,
 
توقيع : MagicianMiDo32
بسم الله مشاء الله
احسنتم وبارك الله فيكم
موضوع ممتاز

عندى استفسار
هل الدوت نت لغة برمجة مستقلة مثلها مثل Visual Basic
ام انها بيئة تشغيلية تعمل ضمنها باقى لغات البرمجة وهل
الدوت نت هى برامج دوت نت فريم ورك
بعد إذن أخي عمرو

لغة Visual basic.net مختلفة إختلافا كاملا عن لغة Visual basic 6 بل هي لاتشبها في إي شيئ إطلاقا سوى طريقة كتابة الأكواد
وذلك لأن مايكروسوفت أرادت إلغاء دعم لغة visual basic 6 لطرح لغة البرمجة الجديدة C# لكنها في نفس الوقت لم ترد أن تستغني عن آلاف من مبرمجي Visual basic 6
لذلك حورت لغة visual C#.net الى لغة Visual basic .net لتتم كتابة الأكواد بطريقة الـ Visual Basic 6
لكن في الأصل لغة C# ولغة Visual basic .net ما هما إلا وجهان لعملة واحدة فكلاهما يتم ترجمتهما اللى لغة مايكروسوفت الوسيطة IL ليقوم بعد ذلك أطار عمل >net Frame Work بتشغيلها
لذلك فإن التطبيقات المبرمجة بالفيجوال بيسيك دوت نيت لا تعمل دون وجود إطار عمل >net Frame work على عكس تطبيقات Visual Basic 6 التي تعمل ذاتيا دون الحاجة الى إي من برامج التشغيل

والتي شرحها أخونا بلاك

يعني سواء أكتبت البرنامج بالسي شار أو بالدوت نيت فالناتج واحد
لولا ان السي شارب تتفوق في بعض النواحي مثل دعم المكتبات والدوال بشكل أكبر من لغة الفيجوال بيسيك دوت نيت
لذلك عندما نبرمج ملف بالدوت نيت يمكن تنقيحه باستخدام برنامج .Net Reflector يمكن عرض أكواد الملف بلغة Visual basic .net أو C# مهما كانت لغة برمجته
المهم أن تكون لغة .net


الخلاصة لغة Visual Basic.net ليست مستقلة بحد ذاتها فهي جزء من منصة عمل Visual Studio.net والذي يحتوي على لغات أخرى مثل C#.net وغيرها




,
 
توقيع : MagicianMiDo32
ألف شكر لك أخي مصطفى على هذا الشرح و الطرح المتميز .....
 
توقيع : أبو رمش
بسم الله مشاء الله
احسنتم وبارك الله فيكم
موضوع ممتاز

عندى استفسار
هل الدوت نت لغة برمجة مستقلة مثلها مثل Visual Basic
ام انها بيئة تشغيلية تعمل ضمنها باقى لغات البرمجة وهل
الدوت نت هى برامج دوت نت فريم ورك


اهلا بك اخى ناسا
للاجابه على استفسارك ستجد اجابته فى اول الموضوع

هذه الجزئيه تحديدا

تعتمد لغات البرمجة مثل ++C و Visual Basic على مترجم خاص (Compiler)
وظیفته تحویل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .


لغه الفيجول بيزك دوت نت هى تطوير للغه البيزك القديمه
ولقد تم تطويرها من ميكروسوفت فكما قلنا ان كل لغه تحتاج الى مترجم خاص بها لكى يقوم بتحويل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .

اى بمعنى اصح ان لغه البيزك دوت نت تعتمد على مكتبه الدوت نت فيرم ورك لكى تقوم بترجمه الشفره المصدريه
لكى يستطيع النظام ان يفهمها بدون الحاجه الى تحولات اخرى
 
توقيع : black007
شكر خاص للاخ مصطفى و كل من ساهم في الطرح
بداية موفقة ومعلومات ثرية:moneybag::moneybag:
بساطة في الشرح (y)(y)
لحد الان كل شيء مفهوم(y)
في انتظار باقي دروس السلسلة الشيقة:runner:
 
توقيع : mha1m
السلام عليكم ورحمة الله
مشاء الله تبارك الله
شرح مميز اخي مصطفي
الي حد الان ليس لدي اي استفسار
كل شي واضح ان شاء الله
 
توقيع : Ahmed_Albosife
اتمنى ان تحوز الدوره على رضاكم اخوانى

واذا فى اى شى صعب على اى احد فهمه فليتفضل بطرحه وان شاء الله سنجيبه

للتنويه الدوره مشتركه بينى وبين كل من

دكتور فتحى @m0d!s@r7@n

اخى الصغير @White Man

ومنى شخصيا

ولست وحدى فيها فالشكر موصول لهم قبلى

وايضا لا انسى ابدا ان اشكر مبدعنا الاخ @AL-EMBRATOR لتصميمه لفواصل الدوره

املين ان شاء الله ان تحوز الدوره على رضاكم ان شاء الله
 
توقيع : black007
اهلا بك اخى ناسا
للاجابه على استفسارك ستجد اجابته فى اول الموضوع

هذه الجزئيه تحديدا

تعتمد لغات البرمجة مثل ++C و Visual Basic على مترجم خاص (Compiler)
وظیفته تحویل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .


لغه الفيجول بيزك دوت نت هى تطوير للغه البيزك القديمه
ولقد تم تطويرها من ميكروسوفت فكما قلنا ان كل لغه تحتاج الى مترجم خاص بها لكى يقوم بتحويل الشفرة المصدریة (Source) إلى ملفات تنفیذیة (Executable files)
و لتشغیل ھذه الملفات نحتاج إلى بیئة تشغیل (Runtime) خاص باللغة البرمجیة التي أنتجتھا
وھذه البیئة تختلف باختلاف نوع اللغة البرمجیة المستخدمة في برمجة الملف .

اى بمعنى اصح ان لغه البيزك دوت نت تعتمد على مكتبه الدوت نت فيرم ورك لكى تقوم بترجمه الشفره المصدريه
لكى يستطيع النظام ان يفهمها بدون الحاجه الى تحولات اخرى

شكرا يا غالى على التوضيح

بالنسبة لمن يريد تعلم هذه اللغة يتعلم على اى اصدار من لغة الفيجول بيزك؟​
 
توقيع : nasa3
شكرا يا غالى على التوضيح

بالنسبة لمن يريد تعلم هذه اللغة يتعلم على اى اصدار من لغة الفيجول بيزك؟​

فيجول بيزك دوت نت واختصارها

VB.NET

يكفيك فقط اكتب فى جوجل او يوتيوب ( دوره تعليم VB.NET ) وستخرج لك الاف النتائج

بالنسبه للمنصه التى ستبرمج عليها

فاى اصدار فيجول استديو ابتداء من 2008 حتى 2013 او 2015 الى نزل مؤخرا طبعا باختلاف النسخه بين express او professional او ultimate

لان منصه الفيجول استديو تتحي لك العمل باى لغه انت تحبها VB.Net او #C او ++C

على حسب اللغه التى تعلمتها

بالتوفيق
 
توقيع : black007
جزاكم الله خيراً في كل ماتقدمونه
وجعله الله في موازين حسناتكم جميعاً
استفسار ..
ماهي تعليمات اللغة الوسيطة ( IL ) المذكور بأول الموضوع
تقديري لكم
 
جزاكم الله خيراً في كل ماتقدمونه
وجعله الله في موازين حسناتكم جميعاً
استفسار ..
ماهي تعليمات اللغة الوسيطة ( IL ) المذكور بأول الموضوع
تقديري لكم
الدرس القادم باذن الله هو عن هذه اللغه الوسيطه وتعليماتها
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى