MagicianMiDo32
مراقب قسم الحماية ، خبراء زيزووم
طاقم الإدارة
طـــاقم الإدارة
★ نجم المنتدى ★
فريق فحص زيزووم للحماية
نجم الشهر
عضوية موثوقة ✔️
كبار الشخصيات
- إنضم
- 29 أبريل 2012
- المشاركات
- 9,226
- مستوى التفاعل
- 27,107
- النقاط
- 5,950
- الإقامة
- Egypt
- الموقع الالكتروني
- web.facebook.com
غير متصل
من فضلك قم بتحديث الصفحة لمشاهدة المحتوى المخفي
السلام عليكم ورحمة الله وبركاته اخواني اليوم معي لكم موضوع بسيط جدا
موضوعنا اليوم عن بعض المصطلحات المتعلقة بالامن المعلوماتي وشرحها البسيط
طيب ماهو ال PE header
Portable Executable Header
هو
جزء أو قطاع من الملف يضم المكتبات التي يتم استدعاءها من قبل الملف وتاريخ صنع الملف والنصوص او السترنجات الموجودة في الملف ومعلومات أخری مهمة لتشغيل الملف
طيب ما أنواع النصوص
1. اسكي Asci ويتكون من عدة حروف منتهية بقطاع null للاشارة الی نهاية هذا النص
كيف
مثلا Zyzoom يكتب هكذا بالاسكي
يكتب النص وفي نهايته قطاع null
Z.y.z.o.o.m.null0
نلاحظ هنا ان القطاع null0 او لاشيئ والذي يعني وحدة فارغة قد دلنا علی علی نهاية هذا النص
مثلا
M.e.d.o.null0 .z.y.z.o.o.m.null0
نلاحظ ان النص سيكون هكذا
Medo لوحده
Zyzoom لوحده
طيب لو حذفنا قطاعnll
M.e.d.o .z.y.z.o.o.m.null0
سيكون النص هكذا
Medozyzoom كلمة علی بعضها
اذا فقطاع null يشير الي نهاية النص وانه ليس جزء من المحتوی الذي يليه
2.اليوني كود Unicode
وهو يضم الحروف التقيلة مثل اللغة العربية والصينية ... الخ
ويعد حجم نص باليونيكود ضعف حجم نص بالاسكي
طيب كيف تكتب النصوص باليوني كود
يتم كتابة النص كالتالي
حرف ثم null ثم حرف ثم null حتی آخر null والتي تشير الی نهاية النص
هكذا مثلا نكتب ميدو باليوني كود
هكذا
م.null.ي.null .د.null.و.null
النص سيكون ميدو
نلاحظ انه اكبر حجما من الاسكي لان كل حرف بعده null
والفرق بينه وبين الاسكي ان الاسكي يحدد ب null termination في آخر النص بينما
اليوني كود فيكون هناك null termination بعد كل حرف
جدير بالذكر ان الحروف تكتب بأرقام معينة وليس كما هي
مثلا الحرف a رقمه 41
وقيمة null رقمها 00
طييب ماهو الضغط packing والتشفير encryption والتشويش obfuscation
كلنا نعرف ان البرامج تتكون من بتات وهي عبارة عن 1و0 مرتبة حسب وظيفة البرنامج
لو نظرت الي الماذربورد او المعالج ستجده يحتوي علی مئات ابل تلريونات الاسلاك الصغيرة المطبوعة علی لوحة الماذربورد
ويتم تنفيذ البرامج بالتحكم في التيار الكهربي الذي يمر في هذة الاسلاك
1 يعني ان التيار الكهربي سيمر في هذا السلك
الرقم 0 يعني ان التيار الكهربي لن يمر في هذا السلك
شوف بقی كل السلوك وكل الارقام تعطيك في النهاية هذا البرنامج الذي تعمل به
تمام
نستفيد من هنا ان البرنامج عبارة عن مجموعة من الارقام او البتات
طيب ماذا يحدث عند التشفير؟
يتم ترتيب بتات الملف بشكل مختلف وبطريقة معينة هذة الطريقة تسمی الخوارزمية
مثل خوارزمية base64 وrsa والعديد العديد من الخوارزميات
ولتشغيل الملف يلزم اعادة ترتيب بتاته بالشكل الصحيح
طيب كيف يتم ترتيب بتات الملف للعمل بالشكل الصحيح
او كيف يجعل الهكر بتات ملفه تعود لترتيبها الصحيح عند تشغيله
ببساطة هناك ملفان
الملف الاصلي وبتاته مشفرة
وملف آخر مساعد يحتوي علی دالة فك التشفير
او الدالة التي تحل الخوارزمية
مثلا هذة خوارزمية مشفرة
1.-1.0.4
1-104
وهذة دالة فك التشفير
مثل الدالة التي ندرسها في استغفر الله العظيم المدرسة
س=س+1
أو
X=X+1
الفكرة اننا نعوض بالخوارزمية المشفرة في الدالة
كيف
هكذا
مثلا نعوض في الدالة بالارقام التي معنا وهي الخوارزمية
مثلا نعوض بالرقم 1
د(1) =1+1 =2
اذا فكينا اول رقم
الثاني f(-1)=-1+1
= 0
هكذا
سنجد في النهاية ان الرقم الناتج هو
2.0.1.5
2015
يعني ما يحدث مع الملف المشفر كالآتي
يقوم المستخدم بتشغيل الملف
يقوم ملف فك التشفير بقراءة اكواد الملف المشفر ويرسلها كمعامل في دالة فك التشفير
او يقوم بفك تشفيرة باستخدام الدالة الموجودة به
بعد ذلك تنتهي وظيفة ملف فك التشفير وتعود بتات الملف المشفر الی طبيعتها
ويبدأ الملف المشفر بعد فك تشفيره في العمل
تعريف الدالة FUNCTION: هي عبارة عن برنامج صغير يتم استدعاءه من برامج أخرى لتنفيذ وظيفة معينة وتسهيل عملية البرمجة على المبرمج
حتى لايضطر المبرمج الى كتابة الكثير من الأكواد البرمجية بشكل متكرر للقيام بوظائف معينة
يعني بالبلدي كداﻻ برنامج جوا برنامج
يعني مثلا انا محتاج اظهر صندوق رسالة للمستخدم \\ الي هوة بيطلع كدا وفيه اوكيه او يس ونو \\
كل الي بعمله انا كمبرمج بكتب او باستدعي دالة صندوق الرسالة MsgBox( "zyzoom") o
في حين انني لكي اظهر رسالة للمستخدم سوف احتاج الى كتابة عشرات البرمجية \
اذا الدالة وفرت علي الوقت والمجهود
طيب هذة الدالة لابد ان اعطيها معلومات او معاملات arguments
طيب ما هي المعاملات
ببساطة هي معلومات يعطيها المبرمج للدالة
ازاااي
شوف الدالة بتاعتنا
MsgBox( "zyzoom") o
المعامل هنا هو النص "zyzoom"
وهو ما سيظهر للمستخدم في صندوق الرسالة
معنی كدا اني اخبرت الدالة ان تظهر النص "zyzoom" للمستخدم في صندوق رسالة عن طريق اعطاءها هذا النص كمعامل
طيب اين توجد الدوال !!!؟
توجد مرتبة حسب وظائفها وصلاحياتها او مدی قدرتها في التأثير علی النظام في ما يعرف بمكتبة الربط الديناميكي
Dynamic Link Library
DLL
طيب واين توجد هذة المكتبات
توجد في نظام الويندوز نفسه او تكون مرفقة علی الملف
إعذروني ياشباب بسبب ظروف الدراسة لم أستطع إكمال الموضوع ,, اردته ان يكون تعريب لكتاب Practical malware analysis حتى الفصل الثالث
عامة المعلومات الموجدة هنا مهمة لذلك قررت طرحه بدل من رميه في قسم التنسيق