Useful links : Upgrade To VIP | Advertising in IHO   |  Laws  | Contact US

قديم 12-15-2017, 10:40 AM   #1
yesecurity
[ عضو جديد ]
الصورة الرمزية yesecurity
 
تاريخ التسجيل  :  Nov 2017
رقم العضوية   :  47050
المشاركات   :  40
بمعدل  :  0.15 يوميا
قوة السمعة  : yesecurity is on a distinguished road  
حالة التواجد: yesecurity غير متواجد حالياً

 
افتراضي شرح كيفية إضافة section جديدة إلى ملف PE


السلام عليكم ورحمة الله وبركاته
إن شاء الله تكونوا في تمام الصحة والعافية إخواني



في هذا الشرح حنشوف كيفية إضافة section جديدة لملف pe
مع ضمان إشتغال البرنامج بعد الإضافة.
والملف pe تبعنا هو عبارة عن برنامج FTP server بصيغة exe وموجود في المرفقات

يمكننا إضافة section جديدة للبرنامج باستخدام ال hex editor يدويا أو باستخدام ال Lord PE أوتوماتكيا.
بقطع النظر عن مذا نستخدم المهم هناك قيم يجب حسابها ووضعها بطريقة صحيحة لضمان اشتغال البرنامج بعد إضافة section جديدة إليه.
نفتح البرنامج الذي سنظيف إليه section جديدة مع LordPE

كيفية إضافة section جديدة

لدينا في البرنامج 4 sections وكل section لها 5 معلومات خاصة بها.
وحجم معلومات كل section تساوي 40 بايت مقسمة كالتالي:
أول 8 بايت مخصصين لإسم ال section
ثم بعدهم 4 بايت فيها قيمة ال virtual size
ثم بعدهم 4 بايت لل virtual address
ثم 4 بايت لل raw size
ثم 4 بايت لل pointer to raw data
ثم 12 null byte

لإضافة هذه القيم الخاصة بال section الجديدة علينا مراعاة المعادلات التالية:

المعادلة الأولى

القسم الثاني ROffset = القسم الأول (ROffset + RSize)

مثلا نشوف حسب الجدول تبعنا لدينا :
9000 = 8000 + 1000 = ا text. ا (ROffset + Rsize)
وهذه القيمة 9000 هي ال ROffset تبع القسم التالي وهو .rdata

نفس الشيء بالنسبة ل .rdata
9000 + 1000 = A000 وهاته القيمة A000 هي ال ROffset تبع القسم التالي وهو .data
.. إلخ

يعني مثلا القسم الذي سنضيفه إسمه zero يعني:
ال Roffset + RSize تبع القسم rsrc. تساوي 1000 + E000 = D000
وهذه القيمة E000 هي ال ROffset تبع القسم zero

المعادلة الثانية

نشوف فيها أولا قيمة ال section alignement والتي غالبا ماتساوي 1000h وحتى الآن
وتعني طريقة تنسيق محتويات أقسام البرنامج بمعنى كل أقسام البرنامج يبدؤون بقيمة من مضاعفات 4096d = 1000h

ثانيا لدينا ال Vaddress مع ال Vsize تبع القسم الأول يساويان ال Vaddress تبع القسم الثاني
مع مراعاة قيمة ال section alignement بمعنى:
ال Vaddress مع ال Vsize تبع قسم ال text. يساويان 1000 + 7638 = 8638
وبما أن قيمة ال section alignement تساوي 1000h يعني يتم الجمع لأقرب مضاعف ل 1000h
يعني الناتج يصبح 9000h

نطبق المعادلة مع قسمنا الجديد:
ال Vaddress مع ال Vsize تبع قسم rsrc. يساويان E000 + 6A0 = E6A0
وبما أن قيمة ال section alignement تساوي 1000h يعني يتم الجمع لأقرب مضاعف ل 1000h فالناتج يصبح F000
بالنسبة لل Vsize يمثل حجم البيانات المستخدمة في القسم نضعه مثلا 1000h
وبالنسبة لل raw size يمثل حجم القسم ككل في القرص الصلب ونضعه 1000h
بالنسبة لل flags نضع E0 00 00 60 يعني صلاحية قرائة وتنفيذ وكتابة والقسم يحتوي على كود قابل للتنفيذ
يعني في الأخير لدينا معلومات القسم الجديد كالتالي:

virtual address = F000
virtual size = 1000h
raw offset = E000
raw size = 1000h
flags = E0 00 00 60

كيفية إضافة section جديدة

طيب الآن لدينا Size Of Image تعني حجم البرنامج كله في الذاكرة
والتي تمثل مجموع ال virtual address و ال virtual size لآخر قسم وهو zero يعني:
ال Size Of Image تساوي F000 + 1000 = E000

كيفية إضافة section جديدة


بالتوفيق لكم

avp ;dtdm Yqhtm section []d]m Ygn lgt PE


الملفات المرفقة
نوع الملف: zip FTPServer.zip‏ (21.3 كيلوبايت, المشاهدات 0)
توقيع : yesecurity




‏مشكلة الناس في مجال ال Cyber Security انها تتطبق دائما قبل أن تتعلم ف 100% ستفشل في التطبيق ولاتستطيع التقدم.
فاول خطوة لكي تكون جيد يجب ان تتعلم.

[email protected]
رد مع اقتباس
قديم 12-15-2017, 11:03 AM   #2
yesecurity
[ عضو جديد ]
الصورة الرمزية yesecurity
 
تاريخ التسجيل  :  Nov 2017
رقم العضوية   :  47050
المشاركات   :  40
بمعدل  :  0.15 يوميا
قوة السمعة  : yesecurity is on a distinguished road  
حالة التواجد: yesecurity غير متواجد حالياً

 
افتراضي

الصورة الأخيرة تمثل إضافة 1000 بايت للبرنامج عند آخر offset ونستعمل في ذلك مثلا ال hex workshop

توقيع : yesecurity




‏مشكلة الناس في مجال ال Cyber Security انها تتطبق دائما قبل أن تتعلم ف 100% ستفشل في التطبيق ولاتستطيع التقدم.
فاول خطوة لكي تكون جيد يجب ان تتعلم.

[email protected]
رد مع اقتباس
قديم 12-15-2017, 11:05 AM   #3
yesecurity
[ عضو جديد ]
الصورة الرمزية yesecurity
 
تاريخ التسجيل  :  Nov 2017
رقم العضوية   :  47050
المشاركات   :  40
بمعدل  :  0.15 يوميا
قوة السمعة  : yesecurity is on a distinguished road  
حالة التواجد: yesecurity غير متواجد حالياً

 
افتراضي

بعد ذلك نحفظ التغييرات ثم نشغل البرنامج وسيشتغل بدون أية مشاكل
بالتوفيق لكم

توقيع : yesecurity




‏مشكلة الناس في مجال ال Cyber Security انها تتطبق دائما قبل أن تتعلم ف 100% ستفشل في التطبيق ولاتستطيع التقدم.
فاول خطوة لكي تكون جيد يجب ان تتعلم.

[email protected]
رد مع اقتباس
قديم 12-26-2017, 01:36 AM   #4
mohassan mos
[ عضو جديد ]
 
تاريخ التسجيل  :  Dec 2017
رقم العضوية   :  47563
المشاركات   :  30
بمعدل  :  0.13 يوميا
قوة السمعة  : mohassan mos is on a distinguished road  
حالة التواجد: mohassan mos غير متواجد حالياً

 
افتراضي

موفق

رد مع اقتباس
قديم 12-26-2017, 01:38 AM   #5
mohassan mos
[ عضو جديد ]
 
تاريخ التسجيل  :  Dec 2017
رقم العضوية   :  47563
المشاركات   :  30
بمعدل  :  0.13 يوميا
قوة السمعة  : mohassan mos is on a distinguished road  
حالة التواجد: mohassan mos غير متواجد حالياً

 
افتراضي

شكرا للك

رد مع اقتباس
قديم 05-16-2018, 01:37 AM   #6
eslam25
[ عضو جديد ]
 
تاريخ التسجيل  :  May 2018
رقم العضوية   :  49630
المشاركات   :  41
بمعدل  :  0.40 يوميا
قوة السمعة  : eslam25 is on a distinguished road  
حالة التواجد: eslam25 غير متواجد حالياً

 
افتراضي

يعطيك العافية اخي

رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
موزيلا تطلق فايرفوكس 20 , تحسينات في التصفح الخفي و إضافة مميزات جديدة لنسخة الاندرويد Ammar Ħacker » اخبار التقنية 8 08-02-2014 09:34 AM
إضافة الأوامر نسخ إلى نقل إلى MoazDarya » windows 11 01-19-2014 01:33 AM
a section-level cadr nbjhytuyjhn » المواضيع المخالفة والمكررة 1 10-10-2013 08:22 PM
كيفية تحميل وتنصيب برنامج CursorFX وكيفية إضافة مؤشرات جديدة عليه MoazDarya » الـبـرامـج العامة 16 09-29-2013 03:12 AM