• 0
ghadeer-youseef

كيفية معرفة مايمثله الكود بقيم الهيكس .

سؤال

بسم الله الرحمن الرحيم 

 

حسب فهم البسيط و المتواضع أن أي برنامج يتحول إلى قيم HEX .. و قيم الهيكس تلك هي تحويل الكود البرمجي المكتوب بلغة الاسمبلي إلى لغة الآلة التي تعتمد على نظام العد الثنائي 01 إلى نظام العد السداسي عشر .

حسناً .....
قمت بصنع برنامج بسيط يظهر رسالة ترحيب "meesagebox" قمت بالحصول على قيم الهيكس لذلك البرنامج التي تتجاوز 25 ألف  أوفست .. و لكن كيف أستطيع تحيد مكان قسم من الكود فرضاً فرضاً

 

 

push 0                                                      style 

push one.40300D                                                  title

push one.403000                                                   text

push 0                                                        h0wner

call <jum.&user32.messageboxA>            MessageboxA

   كيف أستطيع أن أعرف ما يمثل هذا الكود من قيم هيكس مثلا السطر الاخير ..

أي لتوضيح سؤال لأني لست بالخبير .... 
قمت فتحت هذا البرنامج ... بمحرر هيكس ..HEX workshop ... مايزيد عن 25 الف اوفست كيف اعرف اين يتموضع السطر البرمجي الاخير سطر استدعاء الدالة ....
هل يوجد علاقة بين عنوان الذكرة و الهيكس ..!!!
يرجى الشرح لمن يستطيع و لكم مني ألف شكر ... و أن كان طريقة طرحي خاطئة أو غبية استميحكم عذراً لاضاعة وقتكم 

تلك الصورتين توضيح لسؤاليpost-282102-0-58228700-1409756849_thumb.post-282102-0-09990200-1409756882_thumb.

0

شارك هذا الرد


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

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

  • 0

البرنامج لايحول لـhex، فالـhex نظام عد، هذه الأرقام 92 44 55 بايتات يعرضها لك البرنامج بنظام الـhex.

 

الملف التنفيذي الناتج يحوي عدة أقسام من بينها قسم التعليمات code أو text الذي يضم تعليمات برنامجك. انظر في برنامجك في العمود الثاني من اليسار (push 0 تقابل البايتين 6A 00 وهكذا):

 

post-282102-0-58228700-1409756849.png

1

شارك هذا الرد


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

البرنامج تحول إلى كود اسمبلي و منها إلى نظام العد الثنائي 01  لغة الآلة ... و الهيكس لبرنامج هو : تحويل من نظام العد الثنائي إلى السداسي عشر .
 

 

و بنيه الملف التنفيذي protable Executable format  

 

1- ترويسة الدوس 

2- توقيع الدوس 

3-ترويسة الملف التنفيذي 

4- جدول اقسام الملف التنفيذي 

5- أقسام الملف التنفيذي 

 

فمثلاً ... ترويسة الدوس DOs MZ Header 

هي بنية باسم . IMAGE_DOS_HEADER

وهذه البينية تتكون من عناصر . العنصر الأول : E_magic  التي تقابل الرقم (4D5A)  وهي بداية أي ملف تنفيذي أي عندما نفتح أي برنامج باللاحقة EXE  تبدأ بالرقم السداسي عشر 4D4A  ويقابلها بالآلسكي MZ  

 

 

و لكن هذا ما اتطلعت عليه من مراجع أجنبيه ... و لكن أود أحد يكمل الصورة و يوضح لي الأمر اكثر

0

شارك هذا الرد


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

(4D 4A)  بالهيكس يقابل 100110101011010 بنظام العد الثنائي الذي يفهمها الحاسب .... 

0

شارك هذا الرد


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

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

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