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

الإقلاع والتحكم - برمجة أنظمة التشغيل 16 بت

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

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

هذا الموضوع تكملة لما سبق ( برمجة البويس أو البيوس BIOS)

/index.php?showtopic=48912

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

قبل البدء : أنظمة التشغيل الموجودة حاليا تنقسم إلى قسمين هي أنظمة 16 بت وأنظمة 32 بت

والإختلاف بين منصة 16 بت و 32 بت إختلاف كبير جدا ولذلك سينقسم الموضوع إلى قسمين

1- بنية و عمل أنظمة 16 بت :

بإختصار أنظمة 16 بت هي الأنظمة القديمة وهي عبارة عن شاشة سوداء تستقبل الأوامر

ظهرت هذة الأنظمة للعالم بعد ظهور المعالج 8086 ( إختصارة x86 ) من قبل شركة إنتل

ومن هذة الأنظمة الدوس و اليونكس و OS2 و بعض البرامج المستقلة وغيرها !

هذة الأنظمة تعمل في النمط الحقيقي ( بمعنى أنة لاتوجد قواعد وشروط وإمتيازات للبرامج والنظام )

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

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

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

وإنما ينتقل التنفيذ من برنامج لآخر بالترتبيب ( وستتضح فكرة تعدد المهام في القسم الثاني من الموضوع)

المسجلات المتوفرة لهذة الأنظمة هي :

المسجلات العامة : AX,BX,CX,DX,SI,DI,BP,SP

مسجلات الأقسام : ES,SS,CS,DS

وكل هذة المسجلات حجمها 16 بت ( ولذلك سميت أنظمة 16 بت )

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

هذة النقاط تكفي للدخول في الموضوع ,,, سيتم إختيار النظام دوس من بين أنظمة 16 بت

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

ذكرنا في الدرس السابق أن آخر عملية يقوم بها البويس هي تحميل قطاع الإقلاع ونقل التحكم للنظام

ماذا يكتب نظام الدوس في قطاع الإقلاع ؟

كيف يقوم نظام الدوس ببناء بيئة لنظام التشغيل ؟

يبدأ البويس بتحميل قطاع الإقلاع إلى العنوان hex =0000:7C00 بمعنى أن هذا العنوان هو بداية برنامج الإقلاع

في النظام دوس يبدأ برنامج الإقلاع بتعليمة قفز إلى الإزاحة hex =3E والتعليمة هي JMP 3E

ولذلك فإن بداية التنفيذ الفعلي لبرنامج الإقلاع يبدأ عند العنوان hex =0000:7C3E

لماذا يتجاوز النظام دوس 62 بايت تقريبا من بداية القرص ؟!

السبب لأن مقدمة القرص تحتوي على معلومات عن القرص يخزنها نظام التشغيل ( عند عملية الفورمات )

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

وهي ما تعرف بمقدمة القرص , وتجد المعلومات عن كل بايت في هذة المقدمة هنا :

/index.php?showtopic=44877

يبدأ التنفيذ الفعلي لبرنامج الإقلاع عند العنوان hex =0000:7C3E

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

0000:7C3E     CLI                          
0000:7C3F     XOR       AX,AX                
0000:7C41     MOV      SS,AX                
0000:7C43     MOV      SP,7C00              
0000:7C46     PUSH    SS                   
0000:7C47     POP       ES

يبدأ برنامج الإقلاع بتصفير أعلام أو رايات المقاطعات عن طريق التعليمة الأولى

وهذة الطريقة لا تعتبر شرط لبداية الإقلاع لأن برامج الإقلاع لأنظمة IBM لا تستخدم هذة التعليمة

المهم بعد ذلك يصفر المسجل ax ومن خلالة يصفر قسم المكدس وهو ss

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

لماذا ؟ لأن المسجل sp مرتبط بالمقطع ss ويمثلان مكدس البرنامج وهو ss:sp ويساوي 0000:7C00

وبهذا يكون قد عرف مكدس البرنامج لتخزين المعلومات المؤقتة أو المتغيرات في البرنامج

الخطوة الثانية :

0000:7C48    MOV      BX,0078             
0000:7C4B    SS:
0000:7C4C    LDS      SI,[BX]         // DS:SI = [0000:0078]
0000:7C4E    PUSH    DS                   
0000:7C4F    PUSH    SI                      
0000:7C50    PUSH    SS                   
0000:7C51    PUSH    BX

هذة الخطوة للتغيير في بعض خصائص القرص (بمعنى أن النظام دوس سيغير في خصائص القرص للبويس) ؟؟

لاحظ التعليمة الأولى المسجل bx = 0078 بعد هذة التعليمة تلاحظ أن باقي التعليمات تنفذ داخل المقطع ss

وقيمة ss = 0000 والتعليمة lds تحمل مقطع البيانات بالقيمة صفر والمسجل si = 0078

والعلاقة هي DS:SI أي أن المسجل والمقطع مرتبطين مع بعض مثل الخطوة الأولى ( وهذة قوانين في لغة الإسمبلي )

المهم كل هذة الشغلة هي لجعل مقطع البيانات يمثل العنوان 0000:0078 بعد إرتباطة بهذة الطريقة DS:SI

ماذا يمثل العنوان ولماذا هذة الشغلة ؟! معرفة هذا العنوان سيحل اللغز الأول ؟ لاحظ

هل قرأت موضوع برمجة البويس بدقة ؟ راجع الجدول الأول وهو لعناوين المقاطعات وخاصة المقاطعة INT 1E

ستجد عنوانها بهذة الطريقة INT 1E =0000:0078 وهي خاصة لجدول وبارمترات القرص ؟! أي خصائص القرص

في هذا الجدول يخزن البويس معلومات القرص الذي حمل منة قطاع الإقلاع ؟ فيقوم الدوس بقرائتها والتغيير حسب طلبة

كيف ؟ بهذة الطريقة :

0000:7C52      MOV         DI,7C3E              
0000:7C55      MOV         CX,000B              
0000:7C58     CLD                          
0000:7C59     REPZ                         
0000:7C5A     MOVSB                           
0000:7C5B     PUSH       ES                   
0000:7C5C    POP          DS

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

والملاحظة الثانية أن حجم البيانات تساوي B أي 11 بايت

بعد ذلك يغير الدوس بعض الخصائص بهذة الطريقة

0000:7C5D   MOV     BYTE PTR [DI-02],0F
0000:7C61   MOV     CX,[7C18]            
0000:7C65   MOV     [DI-07],CL   
0000:7C68   MOV     [BX+02],AX           
0000:7C6B   MOV     WORD PTR [BX],7C3E 

0000:7C6F  STI                        
0000:7C70  INT     13

أول تعليمة يقوم نظام الدوس بتغيير خاصية تسمى مدة الإنتظار لرأس القرائة والكتابة في القرص

وهي إحدى خصائص القرص ويحدد المدة بالقيمة F ( أعتقد أنها لتسريع القرائة )

التعليمة الثانية والثالثة : يقوم نظام الدوس بتغيير عدد القطاعات في كل مسار ( لكي يحدد قطاعات ملف محدد )

ولو تلاحظ أنة قرأ القيمة الموجودة في مقدمة القرص والإزاحة هي 18 وتمثل عدد القطاعات في المسار

بعد ذلك يقوم بنقل الخصائص بعد تعديلها , والتعليمة sti هي لإعادة تفعيل المقاطعات

وآخر شيء يقوم بتنفيذ مقاطعة إعادة تهئية القرص ,, ويصبح القرص جاهز بعد التغيير

والآن يبدأ النظام بويس بتحميل الملفات وتشغيل النظام ,, كيف ؟

يقوم بقرائة مقدمة القرص ويستخرج كل المعلومات الموجودة . بهذة الطريقة

0000:7C84     MOV     AL,[7C10]           
0000:7C87     MUL     WORD PTR [7C16]  
0000:7C8B    ADD     AX,[7C1C]          
0000:7C8F    ADC     DX,[7C1E]       
0000:7C93    ADD     AX,[7C0E]          
0000:7C97    ADC     DX,+00               
0000:7C9A   MOV     [7C50],AX         
0000:7C9D   MOV     [7C52],DX           
0000:7CA1   MOV     [7C49],AX           
0000:7CA4   MOV     [7C4B],DX

التعليمة الأولى يتعرف على عدد جداول نظام الملفات فات وهي الإزاحة 10

والتعليمة الثانية عدد قطاعات الجدول فات الإزاحة 16 ,, ثم عدد القطاعات المخفية وهكذا

راجع مقدمة القرص لتعرف كل قيمة ماذا تمثل , وكيفية الإستفادة منها

المهم أنة بعد الحسابات يحدد قطاعات ملف معين لبداية تشغيل النظام

وفي مثالنا فإن النظام دوس يبحث عن قطاعات الملف IO.sys يقوم بتحميلة إلى العنوان hex 0070:0000

ملاحظة : يتم قرائة أول 3 قطاعات من الملف فقط وبعد ذلك تنقل للذاكرة

وأكيد بإستخدام الخدمة 2 من المقاطعة INT 13 ( بنفس الطريقة التي قمنا بتطبيقها في موضوع البويس )

وآخر خطوة في برنامج الإقلاع هي تعلمية قفز إلى بداية العنوان 700 ( وهي أول 3 قطاعات من الملف io.sys )

هل لاحظت الدورة الغير منتهية ؟! وأهم شيء هل لاحظت تشابة الأفكار ؟!

المعالج يبدأ بقفزة إلى البويس ثم يقوم البويس بتحميل قطاع الإقلاع إلى العنوان hex 0000:7C00

ثم ينتهي البويس بقفزة إلى قطاع الإقلاع

ثم يبدأ قطاع الإقلاع بقفزة ويبدأ التنفيذ ثم يحمل برنامج الإقلاع نواة النظام إلى العنوان hex 0070:0000

ثم ينتهي برنامج الإقلاع بقفزة إلى نواة النظام

وبعد ذلك تبدأ صناعة بيئة نظام التشغيل ؟!

في الحقيقة أن هذة المعلومات لقطاع الإقلاع متشابة في أكل أنظمة التشغيل بما فيها أنظمة 16 بت و 32 بت

ولآن ماهي خطوات صناعة بيئة لنظام التشغيل لمنصة 16 بت ؟

قبل البدء في هذة النقطة , لدي ملاحظة مهمة وهي :

لا تعتقد أن تحميل نواة النظام إلى الذاكرة هي عبارة عن تحميل ملف معين من القرص

والنقطة الثانية وهي الأهم : لا تعتقد أن محتويات القرص هي الملفات الموجودة بة فقط ؟!!

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

هل يوجد ملف في القرص يدل على هذا البرنامج ؟؟ أكيد لا رغم أنة موجود فعلا في القرص

وتستطيع أن تكتب برنامج كامل في كل مساحة القرص لتحميل النظام .. دون وجود أي ملف مرئي في القرص

وستكون طريقة تحملية للذاكرة أسهل وأفضل لأن محتوياتة ستكون في قطاعات متتالية (ولكنة سيكون غامض للمستخدم)

بإختصار أريد أن أصل لنقطة , وهي أن النظام دوس يحمل برامج لصناعة بيئة للنظام من أماكن متفرقة

في القرص قد تكون من بعض الملفات المرئية أو من قطاعات مخفية لا توجد لها ملفات في القرص !

المهم : تبدأ نواة النظام في العمل .. خطوات بناء بيئة للنظام :

الخطوة الأولى : يتم بناء جدول مقاطعات الدوس وجدول معلومات الدوس ؟ أكيد مرت عليك هذة الجداول؟!

هل راجعت الموضوع السابق ( برمجة البويس ) تقصدت شرح جدولين بالتفصيل وهما جدول مقاطعات البويس

وجدول معلومات البويس ؟! فالنظام دوس سرق الفكرة من البويس وبنفس التخطيط مئة بالمئة

والآن دعنا نراجع :

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

بعد ذلك جدول معلومات البويس عند العنوان 0040:0000

بعد ذلك يبدأ الدوس في كتابة جدول للمقاطعات عند العنوان الذي توقفنا عندة في الدرس السابق (وذكرت ملاحظة)

ثم تتم كتابة جدول بيانات الدوس عند العنوان 0050:0000 حجم هذا الجدول 200 بالعنونة =0020:0000

لوجمعت العنوان 0050:0000 و 0020:0000 فالنتيجة هي 0070:0000 ماذا يمثل العنوان

بداية برنامج نواة نظام التشغيل الذي إنتقل لة التنفيذ من قطاع الإقلاع ,, لاحظ الترتيب الدقيق جدا

ولا بايت فارغ من بداية الذاكرة إلى هنا ؟

إذ تعمد النظام من جعل مساحة فارغة تسبق عنوان نواة النظام ليتم كتابة الجداول بها ,

والسؤال : ماهو البرنامج الذي كتب الجدولين للدوس وكيف ؟

أولا : الجدولين عبارة عن أرقام وبيانات لترتيب ونقل التنفيذ مثلا مقاطعة الدوس int 21

تتصل بجدول المقاطعات , جدول المقاطعات ينقل التنفيذ إلى برنامج آخر في الذاكرة لتنفيذ المقاطعة

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

فقط نحتاج لتعليمات نقل المعلومات مثل mov ولذلك تجد البرنامج io.sys لا يحتوي على أي مقاطعة

خارجية , فقط يحتوي على بعض تعليمات الفحص والمنافذ

والنتيجة : أن المسؤل عن بناء الجدولين هو البرنامج io.sys وقد تتدخل بعض قطاعات القرص المخفية

والآن أنشأ نظام الدوس الجدولين ولكن جدول المقاطعات ينقل كل مقاطعة إلى عنوان لتنفيذ المقاطعة

أين هذة العناوين وكيفية إنشائها ؟

يبدأ برنامج io.sys بتحميل جزء من الملف msdos.sys وهذا الملف لا يحتوي على أي تعليمة

فقط يحتفظ بإعدادات تخص الملف io.sys

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

كيف ؟

مثلا الملف command.com يقرأ منة 5 قطاعات مثلا وينقلها لعنوان التنفيذ لمقاطعة محددة

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

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

والآن مثال لتوضيح الفكرة ؟!

من قائمة start ثم run إكتب command لتشغيل برنامج الدوس

أكتب الأمر التالي : mem /p لإستعراض محتوى الذاكرة

ولاحظ الترتيب الذي سيظهر , أول سطر جدول المقاطعات وعنواة 0 ثم جدول بيانات البويس وعنوانة 40

ثم جدول بيانات الدوس وعنوانة 50 وبعد ذلك لاحظ تقسيم البرامج مثلا io.sys ستجدة أكثر من قسم

وكذلك باقي الملفات مثل msdos و command ..., بإختصار هذة هي فكرة أنظمة 16 بت

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

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

- نواة النظام -

- ذاكرة مؤقتة لتحميل البرامج -

- وهنا يكتب جداول المعلومات -

- هنا يخصص قسم كبير يستخدم مكدس لكل البرامج -

---------

وفي النهاية هذة الأساليب لبرمجة أنظمة 16 بت لم تعد موجودة أو نادرة الإستخدام

ولكن الهدف من ذكرها لتكون مدخل لأنظمة 32 بت مثل وندوز ولينكس

لتكتشف الفرق الكبير ,,, والتحول من المقاطعات إلى الدوال API والبوابات والإمتيازات والمهام

وأفضل طريقة لكشف أسرار بناء الأنظمة هي برامج المتابعة والتصحيح وهي متوفرة

مثل برنامج debug في دوس والبرامج التجارية مثل السوفت آيس وبرنامج TD من بورلند وغيرها الكثير

وعند متابعة أي نظام يجب أن تعرف أن سياسة الأنظمة هي : الترتيب والغموض ؟

الترتيب : وهو عمل النظام وأفكارة دائما تأتي تحت ترتيب أو قانون محدد إما أن يكون مأخوذ من البويس

كما شاهدنا أفكار نظام الدوس أو تكون فكرة جديدة بترتيب معين ( والترتيب هو أساس في صناعة الأنظمة )

الغموض : وهو أن النظام يحاول بكل الطرق أن يظهر مئة علامة تعجب فوق رأسك ؟ كيف قام بهذا العمل ؟

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

تلف وتدور للوصول لهدف يمكن الوصول لة في خطوة واحدة ببساطة ووضوح ؟ فلا تستغرب من هذة الدورة

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

وبالتوفيق ,,,

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

هو مينفعش (كدمج بين لغتين) تعمل حاجه بالاسمبلي لتشغيل ال 32 BIT وتضيفها للسي .

برده كان الاخ chik (تقريبا هو ) كان عمل برنامج بيكتب بالعربي في asssembly مينفعش تطور بيه داله printf عشان تكتب عربي او تعمل داله جديده تكتب عربي في السي ؟

لا اله الا الله
#3

بصراحة أخي الكريم لم أفهم ماتريد بالضبط ,,,

تريد تطوير كود بالسي للكتابة بالعربي بإستخدام الإسمبلي 32 بت

--

بيئة 32 بت تدعم العربي , أما بيئة 16 بت لا يمكن الكتابة فيها بالعربي

-

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>

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

#4

كانت لي فكره تساعد في ادخال اللغه العربيه في بيئة ال 16 بيت

بدلا من استخدام ال text mode والتي تقبل فقط الحروف الانجليزيه وهي الواقعه في نطاق ال Ascii نقوم باستخدام ال graphical mode ونقوم بتعريف الأحرف العربيه على هيئة مصفوفات من ال pixels ترسم كل حرف ونقوم باعطاء كل حرف رقما

لأني أعتقد أن ال text mode هي حاله خاصه من ال graphical mode تأخذ رقما لترسم مصفوفه من النقاط مره واحده

#5

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

الف الف شكر يا اخ JAAZعلي هذة المعلومات الاكثر من رائعة وبارك الله فيك

اخي عندي سؤال عيزك ياريت تجاوب علية

وصدقني غرض السؤال اني منبهر بما تملك من علم اعادة الله علي المسليمين بالخير

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

هل تملك الsource codeللدوس

ام انك تفرضها عامة علي جميع الانظمة

وشكرا

الشباب جسر من جنون لا غنى للعقلاء عن المرور عليه. (جمال الدين

الافغاني)

من جـاد سـاد.. ومن سـاد قـاد.. ومن قـاد بلـغ المــراد

#6
اقتباس
كيف عرفت ان برنامج الاقلاع للدوس بهذا الشكل

إذا كنت تقصد قطاع الإقلاع ؟!

أدخل قرص startup ثم شغل الديبغر وأكتب L 0 0 1 1 ثم D 0:0 لترى الشفرة المصدرية لبرنامج الإقلاع ؟!

أما إذا كنت تقصد نواة النظام ,, فهذة الأكواد مأخوذة من الدوس بعد تتبعة بإستخدام السوفت آيس

-

وبالتوفيق

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

للرفع

موضع غاية في الروعة...ابداع...

#8

:rolleyes: موضوع ممتع جداً و على فكرة من يريد تعلم البرمجة على أصولها فليدخل في هكذا مواضيع حتى لو لم يفهم شيء!

مشكور أخ jass 6 ايام و اخلص امتحان و أعمل معك نظام تشغيل !!!! :rolleyes:

#9

تاريخ الموضوع 2004 , الاخ jaas متغيب الان لظروف الحياة .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

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