• 0
Nokia_2006

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

سؤال

السلام عليكم اصدقائى

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

لكن اصدقائى انا تعبت جدا من شىء اسمه بنية الملفات التنفيذية

ياريت لو احد منكم يتكرم ويشرح لى هذا الموضع بطريقة اوضح من الطرق الذى قدمتموها يعنى بذكر امثلة

ما الافكار الذى لابد ان اضعها فى الاعتبار عند بناء ملف تنفيذى

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

سوال منفصل :

وكيفية كتابة التعليمات بلغة الالة هل يتم كتابتها بدون فواصل ام كل تعليمة بلغة الالة داخل سطر

هكذا

01010111110000100010010011011110011010111101110111110011001001111

ام هكذا

0011 0110 1111 1101 111001 11100 11 1001 111 0 11 00 1 1 1 1 1

وهل بطريقة كل 4 بت منفصلة عن الاخرى

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

هاتين هما المشكلة الذى تواجهنى الان

تم تعديل بواسطه Nokia_2006
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

88 إجابة على هذا السؤال .

  • 0

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

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

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

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

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

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

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

xvimain.gif

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

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

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

تم تعديل بواسطه usama707
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

ما المشكلة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

-

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

كتبت D و جدت 68

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

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

فهمت ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

New_Folder.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جيد جدا

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

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

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

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

تم تعديل بواسطه محمدعبد العزيز
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طيب سوال بسيط

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

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

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

تم تعديل بواسطه Nokia_2006
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نعم

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

حجرب ورد عليك

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

شغال تمام

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

صح

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

-

الأن

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

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

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

جرب

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

تم تعديل بواسطه محمدعبد العزيز
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

-

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

وايضا 83 /0 ib

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

-

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

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

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

-

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

انسى 0100101

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما ذا يا حمادة

هل هناك مشكل ؟

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

D5 ip

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

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

تم تعديل بواسطه Nokia_2006
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

تم تعديل بواسطه Nokia_2006
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

-

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

تم تعديل بواسطه Nokia_2006
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

خطوة خطوة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

متفق معى

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

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

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

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

1000 1001 / 1100 0000

تخيل ان

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

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

89C0

وشكر

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

انا سوالى هو :

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

انا اشكرك كل الشكر

لقد اجتزت مرحلة بناء ملفات التنفيذية مثل EXE وGIF وفهمت الطريقة والفكرة

ولكن حاليا احاول اتعلم بناء ملف تنفيذى داخل win32 ( معرفة الفكرة ايضا )

اخ محمد عبد العزيز

اريد توضيح فكرة كيف يتعامل مترجم الللغة مع المتغيرات

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

كيف يتم التعامل مع المتغيرات انا توصلت للمرحلة الاولى :وهى تحديد نفقطة البداية لقطاع ds ثم ازاحة المتغيرات داخل هذا القطاع لكن اعتقد انه خطاء

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

لاننى اجتازت مرحلة ملفات EXE و COM تحت واجهة المعالج

وهل يوجد اى اماكن او معاهد تقدم دراسات عن هذا الموضوع داخل الاسكندرية

تم تعديل بواسطه Nokia_2006
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .