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

الملفات التنفيذية ؟

مغلقرائج
بدأه Nokia_2006 في 4 يونيو 2006 · 88 رد · 10,595 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#26

يا حبيبي ياحمادة

لا اطلب منك شرح و لا شيئ

و عرف كيف، لكن اريدك انت ان تقوم بذلك

فقط اتبعني حتى الأخر وسترى بنفسك

و لا تقل لي Hex و Dec و غيره

اكتب بريمج ينشئ ملف و بح حرف واحد فقط D

ثم نتابع

d4baa0.gif
#27

لأ يا حمادة أنا مغلطتش بص أنا كنت بقول إيه

اقتباس
بالنسبة لبرامج الهكس فهي بتتعامل مع كل بايت على أساس إنها خلية Hex

طبعا بتتكون من خانتين لإن كل رقم هكس عبارة عن 4 بيت بس و البايت بتتكون من 8 بيت يبقى بنحتاج خانتين هكس لتمثيل خلية هكس بتمثل البايت

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

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

و أنا قلت بعديها إن كل خلية عبارة عن بايت و بتتكون من خانتين و ده طبيعي لإن البايت 8 بيت و أي رمز Hex يقدر يمثل 4 بيتات بس (4 bits) بس علشان كده كل خلية هكس (بتمثل بايت) بتحتاج خانتين هكس يعني رمزين هكس علشان يعملوا بايت

و دي صورة لهكس إيديتور علشان تشوفها بنفسك

xvimain.gif

و تقدر تحمله من هنا http://www.handshake.de/user/chmaas/delphi...nload/xvi32.zip

و في غيره كتير لكن كلهم متشابهين

و خليك فاكر متستخدمش النوتباد إطلاقا

تم تعديل هذه المشاركة بواسطة usama707 في 8 يونيو 2006 في 13:44

#28

لا اعرف ماذا تريد

الملف يقوم بطباعة الحرف على الدرايف c:\

ما المشكلة

#29

لا تقم بتحرير مشاركاتك و تحريريها

-

بريمجك المرفق يقراء ما يكتب و يضعه في ملف C:\Text.TXT

كتبت D و جدت 68

يجب الا يكتب 68 بل D

لا تحويل و لا غيره، قلت انسى كل شيئ، فقط حرف D دون تغيير

فهمت ؟

d4baa0.gif
#30

اعتذر على الخطاء اخوى محمد

ارسلت ملف خطاء

حمل المرفقات الان

New_Folder.rar

#31

جيد جدا

الأن احذف ، لا فائدة منهما السطرين

 clrscr();
 printf("creat file in drive c:\ ");

وغير اسم الملف C:\CODE.COM

و داخل الملف بدلا من كتابة الحرف d اكتب C3 بالهكس في لغة C

تم تعديل هذه المشاركة بواسطة محمدعبد العزيز في 8 يونيو 2006 في 14:11

d4baa0.gif
#32

طيب سوال بسيط

هل ممكن للنظام دوس قراءة هذا النوع من الملفات com. قبل تشغيل الويندوز

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

على العموم شكرا جزيلا

تم تعديل هذه المشاركة بواسطة Nokia_2006 في 8 يونيو 2006 في 14:21

#33

نعم

و اصبر ولا تطرح أسئلة تقودنا لأشياء اخرى...

فقط تابع معي...حبى، حبة... تصل لماتريد

الملف الناتج ملف تنفيذس به أمر واد RET ذي OpCode بالهكس C3

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

d4baa0.gif
#34

فهمت انت تقصد ايه

يعنى opcode الخاصة بتعليمات الاسمبلى

وليس الهكس الخاص الحرف 0 او 1 صح

حجرب ورد عليك

اشتغل وقفل مرة واحدة تمام

شغال تمام

ماذا بعد ذالك هل يوجد شىء اخر

#35

صح

مرادف كل امر بلغة التجميع OpCode بعد تحويله لملف Binary

-

الأن

تعديل بسيط في بريمجك، قبل أن تكتب C3 اكتب مرتين 90 90

نتحدث بالهكس من هنا و صاعدا

90 بالهكس هو امر Nop بلغة التجميع،

جرب

يصبح حجم الملف Code.com 3 bytes مرتبة هكذا: 90 90 ِ3

تم تعديل هذه المشاركة بواسطة محمدعبد العزيز في 8 يونيو 2006 في 14:39

d4baa0.gif
#36

ماذا بعد ذالك

#37

حاول كل مرة ان ترفق برنامجك

لأعرف اين وصلت

ولكي يستفيد الجميع

-

الأن نحاول جعل البرنامج يقوم بشيئ ما

d4baa0.gif
#38

اخى لدى سوالين

هل لابد من كتابة OPCODE الخاص بالتعليمة

ام يمكننى كتابة 0100101 بالهكس ايضا

ولو لابد من OPCODE الخاص بتعليمة الاسمبلى

فيوجد لدى تعليمة add وهى لها OPCODE هكذا 04ib

وايضا 83 /0 ib

#39

نستدعى مقاطعة مثلا int 10

OpCode اي مقاطعة هو CDXX حيث XX رقم المقاطعة في حالتنا 10 و لأخر مرة اذكر- بالهكس

-

الأن غير في برنامجك

بدلا من 90 90 أكتب CD 10

و لا تنسى C3 فهي باقية

-

نفذ برنامجك، و لتلاحظ الفرق يجب ان تعمل في ِConsole سطر الأوامو و Full Screen لأن في Windows الأمر يختلف

انسى 0100101

لا بد من كتابة OpCode كاملا

d4baa0.gif
#40

ما ذا يا حمادة

هل هناك مشكل ؟

و لا تنسى، ارفق البرنامج

d4baa0.gif
#41

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

والنظام بدوره يقوم بفحص كل رقمين وادخلهم الى الذاكرة ram على هيئة 0101 صح

حتى الملفات exe تتعامل بالهكس و OPCODE صح

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

انظر الى ملفات انتل يوجد لكل تعليمة OPCODE مثلا يكون 0A وترى بعدها الحروف هكذا rwx+CT

D5 ip

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

وياريت لو يوجد طريق اخر للتعامل مع التعليمات ابلغنى بها

تم تعديل هذه المشاركة بواسطة Nokia_2006 في 8 يونيو 2006 في 17:22

#42

هل توجد شروط لكتابة الشفرات الثنائية عن طريق opcode

فى حاجات ما بتشتغل معى فى opcode

فانا لم اقراء الكتير عن هذا النمط

كل قرائتى كانت حول بناء برامج اسمبلى لغة الالة ( 0 او 1)

تم تعديل هذه المشاركة بواسطة Nokia_2006 في 8 يونيو 2006 في 21:05

#43

نعم، تتعامل مع OpCode

و ارفق اخر ملف، حتى اعرف اين وصلت ونكمل

-

شيئ مهم،خطوة خطوة حتى نصل لبناء تطبيق بسيط Win 32 PE

d4baa0.gif
#44

من عينى ياباشا

بس فى شىء انا مش عارف اذا كنت فهمته صح ام خطاء

بالنسبة للتوقيع الدوس و ملفات PE

نقوم بكتابة التوقيع كما هو MZ او PE لكن مع باقى الهيكل STRUCT يكون M هى البايت الاول و الحرف Z هى البايت الثانى اما البايت الثالث يكون مطلوب به حجم مسجل دليل الكود مثلا

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

تم تعديل هذه المشاركة بواسطة Nokia_2006 في 10 يونيو 2006 في 15:36

#45

توقف عن تحرير مشاركاتك، و ارفق أخر سورس لنكمل

ولا تسال عن شيئ حتى نصل إليه

لا أريد أن تخلط الأمور،

خطوة خطوة

d4baa0.gif
#46

مر يومين ولا رد....

لا تريد ان تتعلم يا حمادة

d4baa0.gif
#47

لا اخى والله انا معاك فى مشوار التعليم ولكن حدثت لى مشكله على التليفون الجوال ( فايرس) بس اتحلت المشكلة

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

ان شاء الله غدا ساكون معك وارفق لك ملف جديد عن اخر محاولاتى

مرة اخيرة شكرا للاهتمامك

#48

السلام عليكم اخى محمد عبد العزيز

هذه المرة لم ارفق الملف ولكن عندى استفسار

فى البداية : فتح ملف من النوع com. ثم كتابة رقم التعليمة بما يسمى opcode ويتم ادخاله بطريقة الهكس

متفق معى

الان انا فى حاجات مش فاهمها فى opcode من ملفات انتل

لكن توصلت لحل بسيط كل تعليمة بلغة الاسمبلى يقابلها تعليمة بلغة الالة مثلا

التعليمة MOV ولها opcode

ولها تعليمة الالة مثل :

1000 1001 / 1100 0000

تخيل ان

ينفع ان استخرج opcode الخاص بتعليمة MOV من تعليمة الالة المقابلة لها

يعنى اقوم بتحويل اربع بيت الى رقم يعنى سيكون هكذا

89C0

وشكر

اذا كانت هذه الطريقة خطاء اريد فقط ان اعرف كل شىء عن opcode

لانى مش عارف اكتب opcode المكتوب بمقابل كل تعليمة لان ملفات انتل معقدة وفيها رموز غريبة

#49

يا حمادة الله يرضى عليك ابتعد عن 1000 1001 / 1100 0000

فقط ارفق ملفك و نكمل، حتى نصل لبناء ملف تنفيذي يدويا

و في الأخير ستفهم كل شيئ

و كما قلت لك اكثر من مرة لا تكثر الاسئلة حتى لا يختلط الأمر و يتحول لأشياء اخرى

الهدف: كتابة ملف exe خطوة خطوة

ارفق ملفك و ستفهم OpCode

d4baa0.gif
#50

ياسيدى فى اومر فى الاسمبلى مش عارف اكتب opcode الخاص بها

لان طريقة شرح ملفات انتل معقدة جدا

انا سوالى هو :

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

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

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