الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعلم البرمجه في قلب نظام التشغيل ؟؟؟

مغلق
بدأه JAAS في 22 يونيو 2004 · 9 رد · 11,025 مشاهدة · في مواضيع الأخ JAAS في الأسمبلي وتحليل التطبيقات البرمجية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل كل ما نكتبه يسمى برمجه للكمبيوتر أم برمجه لنظام . لماذا لا يعمل أي برنامج في أي نظام تشغيل رغم أنه مكتوب 01 فقط

شو رايكم نبحر مع داله واحده ونتتبعها لين ما نوصل داخل المعالج وتعرف كيف تنفذ بأدق التفاصيل

لو كتبت مثلا داله في نظام تشغيل وندوز أو أي نظام وتريد أن تطبع كلام على الشاشه إنت تتوقع تمر بكم مرحله

في نظام الوندوز مجموعه من المراحل

المرحله الأولى : الإتصال بداله في نظام التشغيل في مستوى البرنامج

هذي المرحله معروفه وهي الي نشوفها مثلا داله إظهار مسج للمستخدم يتصل البرنامج بمكتبه الربط

user32.dll

المرحله الثانيه : تجميع الداله

طبعا إنت تكتب داله واحده وفي الحقيقه إن نظام التشغيل يرسل في تنفيذ عشرات أو مئات الدوال أحيانا

إلى هنا ونحن داخل إطار البرنامج أو بصيغه أخرى في نفس مستوى البرنامج

المرحله الثالثه : مرحله الإمتيازات

في هذا المرحله تسير العمليه أعقد شوي ولها إسم وهي البوابات البوابات كثير من المبرمجين

أعتبروها أعقد شيء في معرفه ما يقوم به نظام التشغيل وهي ميزه توفرت في معالجات النمط المحمي 32 بت

شو هي البوابات:

مثلا إنت تبرمج في نمط 32 بت حاول إنك تستدعي مقاطعه للبويس مثلا ما بتقدر. أعتقد إنك بديت تفهم

لأنه غير مصرح لبرنامجك بأن يتعدى ذاكرته الوهميه ونظام التشغيل قاعد بين برنامجك وبين العتاد

وتسير العمليه بهذي البساطه برنامجك يرسل لمكتبه الربط التي في مستواه أمر إظهار على الشاشه تقوم المكتبه

بتجميع الأمر وترسله عبر بوابه لمنطقه في نظام التشغيل ذات مستوى أقل

في هذي المرحله قسم من الذاكره وهي البوابه تسمح لبرنامج نواه نظام التشغيل بأن يمرر الكود المطلوب

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

إما إرسال مقاطعه للبويس أو مقاطعه للدوس أو برمجه مباشره للذاكره أو عن طريق سواقات الأجهزه

الحين دخلنا في الموضوع بكمل الشرح للطباعه على الشاشه لكن شو رايكم نبدأ حبه حبه يعني ما نريد نطبع صورة بمليون لون

نريد نطبع حرف بلون واحد وبعدين بنكمل المليون لون

أكيد حرف واحد وبلون واحد ما يريد شغل كثير نظام التشغيل على طول بيرسل مقاطعه للدوس

int 21

هل تتوقع ينتهي الأمر لا

بعد مايستلم نظام الدوس الأمر يرسل مقاطعه للبويس

int 10

هل تتوقع ينتهي الأمر لا

الحين تبدأ البرمجه المباشره للذاكره

ملاحظه : البرمجه المباشره في الذاكره يمكن ما تفهمها مو لأنها صعبه لأنها تحتاج منك حفظ مواقع الذاكره وكل بايت شو معناه

مثلا الحين نريد نكتب حرف واحد وبلون واحد ندور على ذاكره الشاشه أوحاديه اللون بدايه عناونها

address 0xB800:0000

أي معلومه تكتبها في هذا العنوان تظهر مباشره على الشاشه أما طريقه تنسيق البيانات

يقرأ كل إثنين بايت على أنه إظهار حرف البايت الأول يمثل الحرف والبايت الثاني تنسيق أو لون الحرف

مثلا لو كتبت في هذا العناون البايتين

0x41 0x09

سيظهر في الشاشه حرف A واللون أزرق وهكذا كل إثنين بايت حرف ولون

برنامج المثال بلغه الإسمبلي:

push bp
mov bp,sp
sub sp,0004

mov word ptr [bp-02],0xB800
mov word ptr [bp-04],0x0000

les bx,[bp-04]
mov byte ptr es:[bx],0x41

inc word ptr [bp-04]
les bx,[bp-04]

mov byte ptr es:[bx],0x09
mov sp,bp
pop bp

نفس المثال

لتبسيطه أكثر بلغه السي

char far *addr;
addr=(char far*)0xB8000000;
*addr=0x41; 
addr++;
*addr=0x09;

أكتب الكود وترجمه ينتج برنامج يظهر حرف بلون واحد شغله على أي معالج إنتل في العالم بيشتغل دون نظام تشغيل أو غيره

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

10101011100110111110100011111

يرسل للمعالج ولقسم يعرف بقسم التنفيذ كيف يفهمها يستخرج أول بايت ويعيده للنظام الهكس = 55

يبدأ يسوي لها مقارنه إذا تساوي 0 التعليمه هي

ADD mem/reg,reg (byte)

وهكذا إلى أن يوصل إلى 55 وهي

push bp

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

للمعلومات أكثر بشأن أي تعليمه تفضل

http://www.angelfire.com/rnb/byte/x86opcod.html

-------------------------------------

ماذا نستفيد من كل هذا ونحن في عام 2004

هذا الطرق التي قرأتوها نفذت وكتبت قبل عشرين سنه ؟؟؟

خلونا نتقدم حبه حبه لين من نوصل إلى طرق وأساليب اليوم النمط الرسومي والنوافذ

أوال ماتثبت النظام وقبل ما يتعرف على الأجهزه تلاحظ إن الشاشه حجمها 640 في 480 وبست عشر لون

وهو النمط القياسي قبل التعريف

هذا النمط ما يتعامل مع الحروف يتعامل بالبكسل وهي نقطه وتم إظهارها بكتابه صف من البايتات لعنوان الشاشه الرسومي وهو

address 0xA000:0000

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

وهي

MISCELLANEOUS REGISTER

SEQUENCER REGISTER

CRTC REGISTER

GRAPHICS CONTROLLER

ATTRIBUTE CONTROLLER

هذه المسجلات عباره عن مواقع في الذاكره تقرأ منها الشاشه خصائص الإظهار والعرض والإرتفاع ...وكل المعلومات المطلوبه

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

أعتقد إن الشرح ما يكفي ولذلك ستجد في الملف المرفق

مثال مع شرح تفصيلي لكيفيه إظهار الشاشه ب 16 لون أو حتى 24 بت

مع أساليب متقدمه في البرمجه المباشره للذاكره

بعد ما تقرأ الدروس المرفقه وتجربها ويكون كل شيء مفهوم سنتابع بقيه الدرس

ملاحظه : إذا كانت أي فكره في الشرح غير مفهومه ضعها ليتم الرد عليها

ومع السلامه

Dmem.zip

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

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

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#2

بعد إذن chik ساقوم بتثبيت الموضوع

واشكر jaas جديته فى شرح الموضوع (ورينا الهمه)

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3

السلام عليكم,

طبعا هذا من المواضيع المهمة التي تمكننا من فهم أعماق الأمور.

يمكن دائما أن نتتبع دالة بواسطة ديبوغر يمكننا من مشاهدة ما يدور في الحلقة 0 .ويجب كذلك أن نعرف الحلقات الأربع التي يتميز بها البروسسور أو على الأقل الحلقات الإثنان من بين هذه الأربعة التي تستعملها الوندوز وهي كما نعرف الحلقة 0 ذات الإمتيازات الكاملة والخاصة بنضام التشغيل والبرامج التي تتكلف بمعدات الكمبيوتر وكذلك البرامج التي تعالج الأخطاء إلى غير ذلك وكذلك الحلقة 3 وهي التي نستعملها في برامجنا العادية. وكما قال الأخ jaas يجب أن تكون هناك قنطرة بين هاتين الحلقتين حتى نتمكن من تمرير واستفبال المعطيات من وإلى نضام التشغيل. ومن المفروض أن هاتين الحلقتين أو الحلقة 0 تكون محمية من الحلقات الأخرى - ومن هنا اسم النضام المحروس - ولكن من اجل إرسال واستلام المعطيات فإن الوندوز تعتمد على نوع من البوابات أو ما يسمى ب Call Gates بين هاتين الحلقتين . وكما أن هناك صيغ أخرى للتواصل بين هاتين الحلقتين مثل مثلا الحوار مباشرة مع برنامج لمعالجة مكونات الكمبيوتر VXD أو عن طريق معالجة الأخطاء Exception Handlers وهنا يمكن بنوع من التحايل على النضام حتى نتمركز داخل حلقته التي من المفروض أن تكون محمية وطبعا حين نصل إلى هذه الحلقة فنكون سيد الموقف وكما نكون في مستوى نضام التشغيل فلن يكون عندنا أي ممنوع حيث يمكننا أن نتصل مباشرة بأي مكان في الذاكرة كما يمكننا التعامل مباشرة مع مكونات الككمبيوتر وإلى غير ذلك من الأشياء .

وإذا كان هناك من مهتم يمكن أن نتطرق إلى هذه المواضيع ونقوم ببعض الأمثلة حتى نرى كيف تسير الأمور - نضام وندوز 98 الذي أشتغل عليه -.

إلى اللقاء.

#4

السلام عليكم ,,

يبدو أن لدينا محترف حقيقي جديد هنا :huh:

هل الملف معطوب ,, أم أن الوندوز هنا هو الذي به مشاكل ؟ :huh:

اقتباس
وكما أن هناك صيغ أخرى للتواصل بين هاتين الحلقتين مثل مثلا الحوار مباشرة مع برنامج لمعالجة مكونات الكمبيوتر VXD أو عن طريق معالجة الأخطاء Exception Handlers وهنا يمكن بنوع من التحايل على النضام حتى نتمركز داخل حلقته التي من المفروض أن تكون محمية

أعرف كيف يمكن ذلك بواسطة ال VXD لكن ماذا عن ال Exception Handling ؟

سؤال آخر ,, ماهي الامتيازات التي في الحلقات الصغرى التي لايمكن الوصول اليها من نظام التشغيل Windows XP ؟

وهل العبث بكل مواقع الذاكرة ممكن بشكل مباشر في ال XP دون اعتراض نظام التشغيل ,,

لو كنت أمام جهازي لجربت المثال ولحاولت أن أغير في الذاكرة مباشرة ,, لكنني بعيد عن جهازي الذي به ال Visual c++ ,

أمر آخر من يعرف شيئا عن تصميم ال Debuggers أقصد تصميم Debugger كامل ,, وماهي ال Debuggers التي تمكننا من الوصول للحلقة صفر ورؤية مايحدث ,,

chik أنا مهتم بذلك ,, واكتفيت من أكون في وضع العارف ,, أريد أن أكون طالبا الآن :P ,,

jass : أكمل ونزل كل الذي تعرف فيبدو أن لديك مدفعية ثقيلة ,, وقريبا سيتم افتتاح قسم جديد للمقالات فلربما أتحفتمونا ببعض المقالات القوية كما أنواع كهذه ,,

في انتظاركم ,,

تم تعديل هذه المشاركة بواسطة HGB في 22 يونيو 2004 في 22:59

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#5

معلومات جيده و جديده ، أرجو التفصيل أكثر و شكرا لكل الموجودين :)

#6

أعتقد إنه مافي أسأله إلى هذه اللحظه عن الموضوع

للرد عليها

أما بالنسه لإستفسارت الأخ

HGB

أولا بالنسبه للبرمجه المباشره للذاكره تحت بيئه نظام التشغيل

لا تستخدم مترجمات 32 بت مثل الفجول سي مثلا

بل 16 بت لأنها تعمل تحت مستوى الرقابه نفس ما قيل

أما بالنسبه لتصميم

Debuggers

أكيد حاطه أنا من أول إهتماماتي وإن شاء الله في وقته بكتب أمثله عن ذلك

//

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

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

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#7

هذا الشيء المطلوب الفهم السريع للدروس

بعد ما فهمنا كيف يظهر النظام الشاشه شو رايكم ندخل في موضوع مشوق

مسجلات نظام التشغيل :

في لغه التجميع مرت علينا مسجلات المعالج وهي

ax,bx,cx,dx,si,di,bp,sp =16 bit

eax,ebx,ecx,edx,esi,edi,ebp,esp =32 bit

هذه المسجلات ليست كل مسجلات المعالج هذه خاصه بالبرامج فقط

شو رايكم نتعرف على مسجلات نظام التشغيل

وهي:

مسجلات الأقسام

GDTR: مسجل جدول الواصفات الشامل

IDTR: مسجل لجدول طلبات المقاطعة

LDTR: مسجل لجدول الواصفات المحلية

TR : مسجل لتعدد المهام

مسجلات إنتقائيه للأقسام : LDT وTSS

مسجلات التحكم

CR0 : هذا المسجل مهم إنك تعرف كل بت فيه ولذلك نتناوله آخر الدرس

CR1:لا يستخدم في المعالج 386 ولا 486 فهو للمعالجات المستقبل

CR3 : عند حصول عطل صفحة يتخزن في هذا المسجل العنوان الذي سبب الإستثناء

CR3: يحتوي على العنوان الخطي لبداية دليل الصفحات

مسجلات التنقيح

TR0,TR1,TR2,TR3,TR4,TR5,TR6,TR7

خاصه بالديبغر وتصحيح البرامج ونقاط التوقف في السوفت وير أو الهارد وير

ندخل في الموضوع

في أحد فيكم فكر وهو يختبر برنامج 32 بت ليش قسم الكود مثلا أو البيانات =21 أو 20

معقوله يكون عنوان الكود في الذاكره =21 ??

الحل هو أول مسجل جدول الواصفات بس خذ هذه المعلومه

من أسرار تصميم الأنظمه هو ترتيب الذاكره تقسيمها لقسمين قسم بيانات و قسم شفره تنفيذيه

نظام لينكس مثلا حسب ما قرأت إنه أختار طريقه قسم الذاكره بالتساوي لكلا القسمين

وأي برنامج تنفيذي يحمله ينقل قسم البيانات للبيانات وقسم الكود للكود

أما وندوز فإنه يحمل كل قسمين ورى بعض ويضع عنوان كل قسم في جدول الواصفات الشامل

ولذلك تلاحظ أن مسجل الكود مساوي لمسجل البيانات

مثلا لو كان يحتوي مسجل الشفره الرقم 21

يقوم نظام التشغيل بقرائه العنوان الذي في سجل جدول الواصفات رقم 21 وفيه

ويكون ما قرئه يساوي العناون الحقيقي لشفره البرنامج + بعض المعلومات

كل سطر من جدول الواصفات مكون من 63 بت على هذا الشكل

| العنوان الأحقيقي للقسم | الحد | حقوق الوصول للقسم

العنوان والحد يمثلان العنوان الحقيقي والصفحه الذاكريه للبرنامج

حقوق الوصول مكونه من 8 بت اي بايت واحد وهو مقسم على النحو التالي

معقوله بايت واحد ويتقسم كل شيء معقول عند تصميم الأنظمه

Byte = 0 | 1 2 3 | 4 | 5 6 |7

name =A | TYPE | S |DPL |P

P : إذا كان صفر القسم المشار إليه غير موجود إذا واحد موجود

DPL : يحتوي على مستوى الإمتيازات والمستوى الأدنى 0 والأعلى 3 وهي تستخدم في الحماية

ملاحظة لاتتشارك المهام فيما بينها إذا إختلفت درجت الإمتيازات بينها المشاركه فقط عن طريق البوابات

S: دائما =1 أي القسم موجود في الذاكرة و 0 غير موجود

TYPE: خصائص القسم

0-قسم المعطيات قرائة فقط

1-قسم المعطيات قرائة / كتابة

2-غير مستخدم

3-قسم المعطيات التنازلي قرائة / كتابة

4-قسم الشفرة تنفيذي فقط

5-قسم الشفرة قرائة /منفذ

6-قسم الشفرة متوافقة منفذ فقط

7- قسم الشفرة متوافقة منفذ/ قرائة

A: بت الوصول وهو يضبط عند إستخدام القطاع التابع لة فهو مفيد لمعرفة الأقسام غير المستخدمة

كثيرا فتتحول إلى القرص عند الضرورة

المسجل الثالث طلبات المقاطعه وفيه عناوين مقاطعات الأجهزه ليستخدمها نظام التشغيل

مسجل تعدد المهام يحفظ عنوان المهم الجاري تنفيذها وللتبديل عن طريق مسجل الإنتقاء للمهام TSS

مسجل التحكم رقم 0

CR0

PE|MP|EM|TS|ET|---محجوز-------------------|-------|PG

PG:تعيين الصفحات

ET:إذا كان واحد معالج 32 بت 0 معالج 16 بت

TS:تحويل المهام

EM:عمل المعالج المساعد الحسابي

MP:مراقبة المعالج المساعد

PE:يضبط البت 1 لتمكين المعالج من العمل في النمط المحمي 32 بت

أول ما يقلع النظام يستخدم هذا المسجل للتبديل من النمط الحقيقي إلى المحمي

//////////////////////////////////////////////////////

أعتقد إنه الجرعه اليوم دسمه .........

ترقبوا باقي القصه

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

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

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#8

السلام عليكم,

الأخ HGB كيف الأحوال.

أولا أريد أن أقول أن كل ما قلته هو صالح لنضام 98 فأنا جربت كل هذا في هذا النضام ولم أجرب على XP أو ما يشابهه وهو يختلف عن 98 .

فيما يخص طريقة الأخطاء أو Structured Error Handling أو ما يعرف بملخص SEH فهي مشابهة إلى حد كبير لطريقة تغيير عنوان المقاطعات وهذا أمر طبيعي لأنهم يشتغلان على نفس المنوال.

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

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

فيما يخص الديبوغر أضن أن سفتايس من بين أحسن هذه البرامج .

كما قال الأخ فإن برامج من نوع الدبوغر تعتمد على المقاطعات 1 و 3 وعلى الرجسترات TR وكما هناك دوال يمكن أن نستعملها في س++ ويمكن أن نشاهدها في خانة Debugging Functions في MSDN .هذا إذا كنا نريد تصميم ديبوغر من الأول ولكن هذا حسب رأيي مشروع يلزمه وقت حتى نحصل على شيء يقارب ما هو موجود. وإنما يمكن دائما أن نقوم مثلا بتغيير مسرى دوال API التي تهمنا ونقوم بمعالجتها نحن قبل أن نتركها تنهي شغلها وهذا قد يكون نوعا من الديبوغر له شغل خاص وهذا أمر ليس بالصعب وقد قمت بمثل هذا عن طريق VXD في 98 وإذا كان من مهتم يمكن أن نتطرق إليه بالتفصيل وهذا قد يصلح لعدة أشياء أخرى.

إلى اللقاء.

#9

والله عال !!

ال SEH وكل ال Exception Handling تدخلنا في جملة ال catch الى الحلقة صفر !!! سبحان الله ,

هذا معناه خراب بيوت ,, وسأتأكد من ذلك حالما تتاح لي الفرصة ,,

شكرا لك جزيلا يا chik ,, كما عودتني ,, تعطينا المعلومات التي في الصميم :)

اقتباس
أعتقد إنه الجرعه اليوم دسمه .........

دسمة للغاية ,, استمر هكذا ولاتحرمنا من هذا العلم ,

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

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#10

السلام عليكم,

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

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

http://www.codecrew.info/code/tutorials/Pa...essed_Progs.zip

إلى اللقاء.

هذا الموضوع مغلق.

مواضيع مشابهة