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

كم سؤال حول لغة الاسبلي

مغلق
بدأه metbna في 21 أكتوبر 2005 · 11 رد · 1,116 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

في الحقيقه بدأت اتعلم الاسمبلي قبل فترة قصيرة ولكن هناك غموض حول اللغات لا ادري ماذا استخدم nasm dasm tasm masm32 واذا ماني غلطان فيه gas

اغلب الكتب العربيه تشرح الاسمبلي 16بت على الدوس هناك مشكله العرض فيــــ Int21مع وندوز لم اجد لها حلا

هل الافضل تعلم الاسمبلي على نظام وندوز او لينكس

ولماذا اوقفت وندوز تطوير masm32

ادري اني كثرت الاسئله ...... بس يالله لكم اجر في رمضان

اخر سؤال هل لغه الاسمبلي 16بت قادرة على اصابه ملفات وندوز32اذا كتب فيها فيروس (اقصد فيروس يكتب نفسه في الملف التنفيذي)

مـــــــــــــــــــــــــــــــــــــــــــــــ كـــــــــــــــــــــل احترامي ــــــــــــــــــــــــــــــــــــــع
#2

استخدم masm32.. هذا رايي الشخصي

بالنسبة للسؤال الثاني .. تقول هناك مشكلة في العرض مع int21 .. ماذا تقصد.. هل تقصد امكانية العرض على الشاشة؟

برايي تعلم الاسمبلي على النظامين فبيئات التطوير مختلفة

.. لماذا اوقفت مايكروسوفت تطوير masm .. هذا امر لا ادريه

واخيرا، نعم ففيروسات 16بت قادرة بدون اي مشاكل على اصابة ملفات 32بت والسبب بكل بساطة ان الفيروس سيقوم باستبدال جزء من رماز الملف الاصلي برمازه وبالتالي يؤدي الى ضياع بيانات هامة من الملف الاصلي.. اما في حالة الفيروسات التي تقوم باصابة الملف الاصلي بدون ان تعطبه هذه تحتاج الى بحث خاص في كيفية رصف واعادة تعيين احجام وعناوين القطع.. لانه كما تعلم.. او اصبحت تعلم.. ملفات 32بت تملك امكانية استخدام اكثر من قطعة section وهذا الامر يختلف عن 16بت والتي تملك section واحد بطول 64 بت..

تحياتي

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

شكرا اخوي Xacker ما قصدته هو انك لاتسطيع عمل compileلــــــ كود أسمبلي يحتوي على INT21 في نظام WINXP

في الحقيقه بحثت عن اكواد فيروسات كتبت بلغه أسمبلي 32 ولم أجد اذا كنت تعرف موقع يحتوي على ذللك لاتبخل علينا

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

مـــــــــــــــــــــــــــــــــــــــــــــــ كـــــــــــــــــــــل احترامي ــــــــــــــــــــــــــــــــــــــع
#4

السلام عليكم

تعليق سريع .

نسخة masm32 ليست هى النسخة الاصلية التى تصدرها مايكروسفت, نسخة مايكروسفت إسمها masm version 7.0 ولم يتم إيقاف تطويرها بل الشركة بصدد إصدار نسخة جديدة من masm وهى خاصة بالانظمة 64..

بالنسبة للint21 وغيرها من الInt تم إلغئها لانها تعتبر دوال تتعامل معى الهاردوير مباشرة هناك بعض الint التى مازالت متاحة مثل int3 مثلاً..

يمكنك إستخدام int 21 إذا قمت بعمل link16 وفى هذه الحالة يستخدم البرنامج فى بيئة دوس محمية وهى الطريقة التى تعمل بها برامج الدوس القديمة فى بيئة الوندوز..

والسلام عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#5

بالنسبة لفيروسات 32bit فستجد منها الكثير.. لكنك بالتاكيد لن تجد فيروسا يستخدم امر invoke بل سيقوم بقراءة مكتبات الربط ومحاولة الوصول الى الوظائف وعناونها المطلقة (كما وضح الاخ JAAS في مقالاته العديدة حول هذا الامر) ! ومن هذه الفيروسات ومن اوائل هذه الفيروسات حسبما اذكر Intruder

اما بخصوص اختلاف الحجم فليس لدي معلومات عن هذا الامر لاني لم اجرب اي نظام تشغيل حتى الان غير ويندوز لكن linux يصلني هذا الاسبوع وسابدا بالتعرف عليه اكثر :P

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6

راجع: http://www.users.qwest.net/~eballen1/virefs.html بخصوص فيروسات *nix

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

Xacker & احمد غريب

شكرا جزيلا

الاخ Xacker ماقصرت ويعطيك العافيه

انا نزلت نظام لينكس على vimVMware Workstation افضل بكثير من تنزيل النظام لوحده

مـــــــــــــــــــــــــــــــــــــــــــــــ كـــــــــــــــــــــل احترامي ــــــــــــــــــــــــــــــــــــــع
#8

لانك تعمل على نظام افتراضي تستطيع تشغيل الفيروسات لاختبارها فيه؟ :D

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

:D بالضبط وخاصه ثغرات buffer overflow

مـــــــــــــــــــــــــــــــــــــــــــــــ كـــــــــــــــــــــل احترامي ــــــــــــــــــــــــــــــــــــــع
#10

الاخ أحمد غريب

اخر اصادرة هي من masm32 هي v8

بالنسبه لــــــــــ INT3هل تستخدم لطبع النتائج على الشاشه بدلا من INT21

تم تعديل هذه المشاركة بواسطة metbna في 25 أكتوبر 2005 في 01:09

مـــــــــــــــــــــــــــــــــــــــــــــــ كـــــــــــــــــــــل احترامي ــــــــــــــــــــــــــــــــــــــع
#11

السلام عليكم

الظاهر لخبط فى الاسماء بين احمد غريب واحمد عز, مش مشكله لانه اخ عزيز وغالى..

الاصدار الاصلى لمايكروسوفت هو الاصدار 7 وهناك اصدار قيد الانشاء وسيتم طرحه فى الاسواق قريباً وهو جزء من حزمة التطوير على انظمة الـ64 ..

اما بالنسبة للاصدار 8 فهو اصدار hutch وليس لمايكروسفت دخل به, وهو يستخدم الاصدار 6.14 من masm ولكنه يحتوى على مكتبات تم تطويرها خارج مايكروسفت بوصطة بعض الهواة ويمكن تحميل هذا الاصدار من www.masm32.com وهذا الموقع ليس ملك لمايكروسفت بل هو ملك للمدعو hutch ...

بالنسبة للطباعة على الشاشة يستخدم دوال الAPI مثل StdOut او printf تماماً كما تستخدم فى بيئة لغة السى ولا يوجد int معين يمكن إستخدامة للطباعة المباشرة...

والسلام عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#12

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

مـــــــــــــــــــــــــــــــــــــــــــــــ كـــــــــــــــــــــل احترامي ــــــــــــــــــــــــــــــــــــــع

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

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