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

ماهى الادوات التى تستخدمها لبرمجة الاسمبلى

مغلق
بدأه احمد غريب في 31 أكتوبر 2005 · 18 رد · 5,210 مشاهدة · في المواضيع المميزة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

الغرض من هذا السؤال هو التمهيد لسلسلة مواضيع اود ان اطرحها بعد العيد إن شاء الله وهى مواضيع للمحترفين بالدرجة الاولى ولكن يستطيع المبتدئين ايضاً متابعتها إذا تمكنو من فهم اساسيات اللغة بشكل صحيح..

انا شخصياً استخدم masm32 بالضافة إلى RadAsm و ollydbg بشكل اساسى ولكن عند اللزوم الجاء ايضاً لبعض الادوات الاخرى والتى سيتم ذكرها لاحقاً لان مصادرها متعددة..

بالنسبة للمبتدئين انصح وبشدة ان يلتزمو بالمترجم masm32 لانه يسهل الكثير من الامور والتى تكون عقبة إذا ما بداء المبتدء بمترجم مثل fasm او nasm او غيرها من المترجمات..

بالنسبة لمبرمجى الوندوز سواء على بيئة الدلفى او السى يمكنهم متابعة هذه المواضيع لانى إن شاء الله ساتطرق لبعض التقنيات التى لم يتم التعرض لها فى قسم السى والتى يمكن ترجمتها إلى لغة السى بكل سهله إذا إستدعى الامر..

لن افسد المفاجئه بذكر محتويات هذه المواضيع ولكنى انتظر الردود واريد بالفعل ان اعرف نوعية الادوات التى يستخدمها الاعضاء لانها مهمة جداً فى نوعية المواضيع التى ستم طرحها إن شاء الله...

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

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

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

#2

شكرا اخي احمد على طرح الموضوع وانا من المبتدئين في برمجه الاسمبلي وهذا الموضوع مهم جدا بالنسبه لي ولغيري من المبتئدين

لان هناك toolsمخصصه للعمل على بيئه وندوز واخرى لـــــ لينكس وهنا يجب ان نعرف مانريد لكل نظام تعبت من تنزيل تولز اجدها

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

هناك ادوات لاتعمل تحتاجpatch على الانظمه الجديدة لنفس النظام

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

حتى لايقع من اراد تجريب الــــcodeفي متاهه اي الادوات استخدم

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

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

السلام عليكم

اولاً اشكرك اخى metbna على التفاعل الظاهر لا يوجد الاهتمام الكافى لهذا الموضع, كنت اتمنى ان ارى تفاعل اكبر لان هذا الموضوع كنت ناوى ابنى عليه مواضيع عديده للنقاش, مواضيع تهم المحترفين بالدرجة الاولى ولكن قلة التفاعل سببت لى إحباط للاسف..

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

رداً على سؤالك اخى الكريم انا لا استخدم اللينكس فى البرمجة وإنما استخدمة فى الاتصالات والشبكات ليس لانى لا احب اللينكس ولكن لان مستخدمى الوندوز هم الاغلبية الساحقة لذلك لا استطيع ان افيدك فى برمجة اللينكس..

اما بالنسبة للادوات التى استخدمها فهى كما ذكرت masm32 لكتابة برامج الوندوز والكونسول, كنت فى القديم استخدم masm 5.1 لبرمجة الدوس ولكن هذه الاداة عفى عليها الزمن ...

من الادوات التى كنت اود مناقشتها هى الادات VKDEBUG والتى توجد فى مكتبات masm32 لانها ادات مهمة للغاية ولكن الكثير من مستخدمى الاسمبلى لا يعرفها ... على كل حال مازال عندى امل فى مشاركات اكثر حتى نبداء المواضيع بإذن الله تعالى...

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

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

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

#4

nasm,gdb,g*,gc* and ld

#5

السلام عليكم

أنا أستخدم nasm ولكني مبتدى في الأسمبلي

ونحن بإنتظار الدروس

و الأدوات لا تشكل فرقاً كبيرا

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

وجزاك الله خيرا

#6

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

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

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

#8

شكراً لك اخي احمد واتمنى انك تزودنا باادوات الأسمبلي على الويندوز للمبتدئين واعتقد ان الموضوع قد تم التفاعل فيه لذى انتظر الجواب منك وشكراً مرة اخرى

#9

السلام عليكم

عيد سعيد وكل عام وانتم بخير

اخي احمد احنا بالأنتظار .. وجزاك الله خيرا

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#10

انا استخدم nasm و djgpp و لكني لم اخترهما .. بل اختارهما لي استاذ مادة software hardware interface لأننا نعمل على الدوز!!! <_<

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 5 نوفمبر 2005 في 10:40

#11

Tasm و أشياء أخرى

d4baa0.gif
#12

masm / radasm / lil of tasm

Do as I say, not as I do

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

#13

السلام عليكم

ارى الان قدر لا باس به من التفاعل ونصيحتى للجميع هى على النحو التالى:

إذا كنت مبتدء فى الاسمبلى وتستخدم نظام الوندوز بشكل اساسى انصحك بإعتماد masm32 لانها الاداة الاسهل فى التعلم وتحتوى على الكثير من الادوات التى تسهل عليك تعلم الاسمبلى...

إذا كنت مبتدء وتريد تعلم الاسمبلى على النظامين الوندوز واللينكس فهناك إختيارين الاول هو HLA وهذا الاختيار هو الافضل فى نظرى لان هناك الكثير من المصادر التى تسهل عملية التعلم ومنها كتاب كامل مجانى على صفحة webster.cs.ucr.edu ولكن بعد ان تشعر بانك قد تمكنت من الاساسيات يفضل ان تنتقل لnasm لانها لغة الاسمبلى الاصلية وليست خليط بين الاسمبلى والباسكال كما هو الحال بالنسبة ل HLA ..

بالاضافة لمترجم الاسمبلى تحتاج إلى بيئة تطوير, بالنسبة لنظام الوندوز هناك العديد من الادوات ولكنى انصح بالاداة RadASM فهى تدعم اللغات التاليه . nasm,fasm , masm32 HLA Tasm GoASM:

بالنسبة للdebug هناك الاداة ollydbg وهى الاشهر على الاطلاق بالنسبة للمبرمجين على بيئة الوندوز, ولكنها صعبة الاستخدام وتحتاج إلى خبرة فى لغة الاسمبلى, اما بالنسبة للمبتدئين فهناك الاداة VKDEBUG والتى تجدها فى masm32 سهلة الاستخدم وتغينك مبدئياً عن ollydbg فى تطوير برامجك, اعتقد ايضاً انها توجد فى بيئة fasm ولكنى لست متاكد من ذلك...

انتظر تعليق من الاخوه الخبراء فى البرمجة على بيئة اللينكس لانى خبرتى فيها تحت الصفر, ماهى الادوات الافضل بالنسبة للمبتدئين وكيفية إستخدامها بشكل مختصر ولكم جزيل الشكر..

كما وعدت ساقوم بشرح الاداة VKDEBUG فى موضوع منفصل خلال الاسبوع القادم ...

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

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

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

#14

NASM

The Netwide Assembler

اسمبلير يعمل على i386 على النظامين ويندوز و ليونكس

في ليونكس يقبل الصيغ التاليه

bin, aout, coff, elf, as86, obj

في DOS

win32, rdf

نوع ال syntax هو intel وليس AT&T كلمعتاد

ايضا يأتي مع البرنامج disassembler هو NDISASM

البرنامج للمتوسطين في الاسبملي وينفع ايضا للمبتدئين <_<

يمكن تحميله من

http://nasm.sourceforge.net

او

http://www.cryogen.com/nasm

AS86

هو 80x86 اسمبلر ويعمل على نوعين 16 بت و 32 بت يستعمل intel syntax

يمكن تحميله من هنا

http://www.cix.co.uk/~mayday

ويجب تحميل ال linker الخاص بلبرنامج وهو ld86

وايضا تستطيع دمج عمل هاذا البرنامج مع BCC عن طريق gnu Makefile

GAS

هو اسمبلر خاص ب GNU وتعتمد عليه جميع وخرجات GCC مثلا لو قمت باخراج كود اسمبلي

عن طريق كود C بستعمال كومبايلر gcc لن يعمل الا على GAS لكن تستطيع التعديل عليه قليلا

ليعمل على اي اسمبلر اخر تستعمله ...

يستعمل AT&T syntax طبعا هي ليست جديده كليا عن ال intel syntax فقط الاختلاف في الترتيب

ولا يوجد اي شئ جديد فيها لكن مع الاعتياد عليها راح تحصلها مرتبه اكثر من intel syntax

يمكن تحميله من هنا

http://sources.redhat.com/binutils

اما بخصوص ال Debuggers

انصح بستخدام GDB طبعا صعب الاستعمال كبدايه يعمل عن طريق ال console فقط

لكن توجد نسخ منه تعمل عن طريق واجه .. يمكن تحميله من هنا

http://ftp.gnu.org/gnu/gdb

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

انصحه يبحث ويقرى عن kernel System Calls

صوره توضيحيه

http://www.linux.it/~rubini/docs/ksys/ksys-figure1.png

تم تعديل هذه المشاركة بواسطة Qnix في 6 نوفمبر 2005 في 01:57

#15

موضوع اكثر من رائع اخى احمد

انا مبتدىء فى تعلم الاسمبلى و يمكن ان اقول تحت المبتدىء انا فعلا فى حاجة الى هذا الموضوع و فى انتظار دروسك بفارغ الصبر

اريد منك شرح للادوات المستخدمة و كتب للمبتدئين و شكرا :D

جزاك الله كل الخي ;) ر

#16

جزاك الله خيرا يا أخ أحمد على مجهودك

فأنا متابع معك بإذن الله ، ولكن لتعلم أن فدر معلوماتي في الأسمبلي هي 100% ولكن بالسالب :D

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#17

أخي الكريم ولكن عندنا الدكتور طلب استخدام الtasm فهل هو صعب في التطبيق وشكرا

#18

مرحبا يا شباب انا عضو جديد و إن شاء الله سيكون لي دور فعال في هذا النتدى العظيم و سأعطي بدوري كل خبراتي و ارجو من الآخرين ان يكونوا كذلك.أتمنى من كل كل واحد منكم ان يضع كل خبرتة(كل معلميتو بالعامية ;) ) و إن شاء الله سوف نكون من المحترفين..... بداية انا طالب بنظم الكمبيوتر و أستطيع ان اقول انني مبتدئ في لغات البرمجة و قد بدأت بالأسمبلي و السي و كام أرى هنالك عدة برامج للتعامل مع الأسمبلي....أتمنى ان أعرف ما هو افضل برنامج (Aassembler) أستطيع انا أبدأ به و شكرا للجميع

#19

اعتقد ان بقراءتك الموضوع ترى ان الكثيرين يفضلون masm نظرا لما يملك من ادوات خارجية وميزات تسهل التعامل به من خلال radasm مثلا

Do as I say, not as I do

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

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

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