التواصل المباشر مع الادارة والاعضاء القدامى من خلال قناة التلغرام



العودة   :: vBspiders Professional Network :: > [ ::. الـقرصـنـة والأختراق ~ The Hidden World Of Hackers .:: ] > قســم إختــراق الأجهــزة

موضوع مغلق
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 11-22-2008, 03:39 AM   رقم المشاركة : 1 (permalink)
معلومات العضو
 
الصورة الرمزية Mr.ALsa7eR
 

 

 
إحصائية العضو






Mr.ALsa7eR غير متواجد حالياً

إرسال رسالة عبر MSN إلى Mr.ALsa7eR إرسال رسالة عبر Yahoo إلى Mr.ALsa7eR

 

 

إحصائية الترشيح

عدد النقاط : 10
Mr.ALsa7eR is on a distinguished road

.......... الهندسة العكسية للمبتدئين = الدرس الأول = Reversing for Newbies





دروس في مباديء الهندسة العكسية
Reverse Engineering



تعلم الهندسة العكسية في البداية لا يحتاج إلا لقدر من المعرفة ليس بكثير عن جهاز الكمبيوتر بشكل عام ولغات البرمجة سواء عالية أو منخفضة المستوي خاصة لغة التجميع Assembly Language والتي هي نهاية أي لغة برمجة .

فحتي أكون كراكر محترف يجب أن يكون لدي معرفة بمعظم لغات البرمجة بالطبع ليس أن أكون خبيرا ولكن علي الأقل أكون علي دراية بأساسيات كل لغة .

و لإني كما قلت سأبدأ من الصفر فيجب أن تتأكد أن تقرأ علي الأقل المعلومات البسيطة التي سيتم توضيحها في الأجزاء التالية .

لغة التجميع Assembly Language تصنف علي إنها من اللغات منخفضة المستوي Low-level Languages حيث إنها تتعامل مع مكونات الكمبيوتر المادية مباشرة .

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

جهاز الكمبيوتر لا يفهم أي رقم أو أي حرف يكتب له لإنه مكون من مجموعة من الدوائر الكهربية وبالتالي فهو لا يفهم إلا لغة الدوائر الكهربية وهي حالتين حالة وجود تيار كهربي وحالة عدم وجود تيار كهربي , الحالة الأولي حالة وجود تيار كهربي تأخذ الرقم (1) وحالة عدم وجود تيار كهربي و تأخذ الرقم (0) وهو ما يسمي بالنظام الثنائي Binary وهو اللغة الأم لجهاز الكمبيوتر . إذن فالنظام الثنائي يتكون من رقمين فقط هم الصفر والواحد .

وبعد النظام الثنائي يأتي النظام السداسي العشري Hexadecimal وهو نظام مكون من ستة عشر رمز من 0 إلي 9 ومن A إلي F أي 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F .

بعد ذلك يأتي النظام الثماني Octal وهو يتكون من ثمانية رموز من 0 إلي 7 أي 0,1,2,3,4,5,6,7 .

و أخيرا يأتي النظام العشري Decimal وهو يتكون من عشرة رموز تبدأ بالصفر وتنتهي ب 9 أي 0,1,2,3,4,5,6,7,8,9 وهو النظام المستخدم في الحياة العادية .

و لم يتم التطرق إلي العمليات الرياضية و عمليات التحويل من نظام إلي آخر وهي عملية مهمة جدا لكن للتسهيل لن يتم التطرق إليها الآن وبمكن الرجوع إليها في وقت آخر حيث توجد برامج جاهزة تستطيع القيام بهذه المهمة .

سنعود إلي النظام الثنائي فكما قلنا هو اللغة الأم لجهاز الكمبيوتر وهذه المرة سنتحدث عن الوحدات المستخدمة في جهاز الكمبيوتر و سنبدأ بما يسمي البت Bit وهو أصغر وحدة وهو يساوي إما صفر أو واحد و بعد ذلك يأتي النيبل Nibble وهو عبارة عن 4 بت ثم البايت وهو عبارة عن 8 بت ثم الوورد Word وهو عبارة عن 16 بت ثم الدبل وورد Double Word وهو عبارة عن 32 بت ثم الكيلو بايت وهو عبارة عن 1024 بايت ثم الميجابايت وهو عبارة عن 1,048,578 بايت أي 1024×1024 .

The Registers

هي عبارة عن مسجلات للبيانات موجودة بذاكرة المعالج وهناك أكثر من نوع منها

المسجلات عامة الغرض Purpose Registers General

وهي 8 مسجلات في معالجات 8086 32بت وهي :

EAX: Extended Accumulator Register

EBX: Extended Base Register

ECX: Extended Counter Register

EDX: Extended Data Register

ESI: Extended Source Index

EDI: Extended Destination Index

EBP: Extended Base Pointer

ESP: Extended Stack Pointer

EIP: Extended Instruction Pointer

كل مسجل حجمه 32 بت أي 4 بايت ويمكنه تخزين بيانات من 0 إلي FFFFFFFF و المسجلات الأربعة الأولي تنقسم إلي أجزاء 16 بت و 8 بت كما يوضح الجدول التالي :




لاحظ أن EAX هي مسجل حجمه 32 بت و أن AX تسمي Low Word of EAX و تساوي 16 بت و AL/AH تسمي Low Part و High Part من AX تساوي 8 بت .

وهذه هي تقسيمات المسجلات Registers حسب الحجم : Byte-size registers: هي مسجلات حجمها 1 بايت أي 8 بت مثل AH, AL و BH, BL و CH, CL و DH, DL. word-size registers : وهي عبارة عن مسجلات حجمها 1 وورد أي 16 بت أي 2 بايت مثل AX و BX و CX و DX مع ملاحظة ان AX=AH+AL وهذا يعني أن أي تغير في AH أو AL يؤدي إلي تغير AX وبالتالي يؤدي إلي تغير EAX . Double word-size registers : وهي مسجلات حجمها 32 بت أي 2 ووردأي 4 بايت مثل EAX و EBX .......


The Flags

هي عبارة عن أماكن في الذاكرة لتخزين البيانات وفي معالجات 32 بت يوجد 32 flag لكن ما يهمنا منها هو ثلاثة فقط وهم : Z-Flag (Zero Flag): وهي الأكثر إستخداما في عملية الكراكنج وهي إما صفر أو واحد و تستخدم غالبا في أوامر المقارنة و القفز كما سيتم شرحه لاحقا. O-Flag (Overflow Flag): تأخذ 1 إذا كانت النتيجة أكبر من المكان المخصص لحفظها وإلا تأخذ صفر. C-Flag (Carry flag): تأخذ 1 إذا أعطت البت الأخيرة عن اليسار 1 إلى الخارج أو أخذت 1 من الخارج وإلا تأخذ صفر.

Segments and Offsets
Segments هي أماكن في الذاكرة يتم حفظ التعليمات بها وهي تقسم إلي offset حيث يمكن إعتبار أن segment هي صفجة في كتاب و offset هي سطر في هذه الصفحة.

The Stack
هي أجزاء في الذاكرة و يتم حفظ البيانات والتعليمات بها حتي يتم إستخدامها لاحقا مع ملاحظة إن آخر ما يتم تخزينه هو أول ما سيتم إستخدامه و يستخدم الأمر PUSH لحفظ البيانات و الأمر POP لإخراج البيانات لإستخدامها .

تعليمات و أوامر لغة التجميع الجداول التالية بها معظم أوامر لغة التجميع OPcodesولا تسألني عن ترجمتها بالعربية لإنك لن تجدها بالبرنامج باللغة العربية

























ميزة مهمة بالنسبة لنا في لغة التجميع وهي عدم وجود طرق كثيرة للوصول إلي الهدف فنفس الأوامر ستجدها مكررة وبالخبرة ستعلم الجزء المراد من الكود وفي كل مرة ستتوجه عليه وفي كل مرة ستتوجه إليه مباشرة دون مجهود وستجد أن لغة التجميع هي من اسهل اللغات في تعلمها و إستخدامها . هناك ثلاث من أنواع من البرامج تتعامل مع الويندوز النوع الأول يستخدم تقنية تسمي SDI أي Single ******** Interface و أقرب مثال علي هذا النوع هو Notepad فاو نظرت إلي البرنامج ستجده بسيط جدا في تكوينه عبارة عن شريط العنوان وشريط الأدوات و هذا النوع من البرامج لا يمكنه فتح أكثرمن ملف في نفس الوقت حيث يجب غلق الملف المفتوح أولا قبل فتح الآخر والمقصود هو فتح ملفين في نفس فحة البرنامج وليس فتح صفحة أخري للبرنامج . النوع الثاني يستخدم تقنية تسمي MDI أي Multiple ******** Interface وهي أكثر البرامج تعقيدا مثل الفوتوشوب وبرامج الأوفيس و هذا النوع من البرامج يحتوي علي كثير من الأدوات ويمكنه أداء العديد من المهام في نفس الوقت . النوع الثالث يستخدم تقنية تسمي DPI أي Dialog Based Application وهو أسهل الأنواع في كتابتها و الأسهل في إستخدامها من حيث الأدوات المسنخدمة والواجهة التي يتعامل بها مع المستخدم . لاحظ أن لا علاقة بين هذه الأنواع و نوع لغة البرمجة التي تم برمجة بها أيا كانت C++ أو VB أو .NET أو Delphi أو أي لغة برمجة أخري . الهدف من معرفة أنواع البرامج هو أن كل نوع من البرامج له طريقة معينة في هندسته حيث لا يهمنا في عملية الهندسة العكسية دراسة كود البرنامج لكن ما يهمنا هو جزء معين من الكود هو الذي يجب أن نركز عليه .




الموضوع غير منقول من أي مكان والموضوع والموضوعات التي تليه في هذا المجال تم تجميعها من مصادر متعددة موجودة بالأسفل



أتمني أن أكون وفقت في توصيل المعلومة

منتظر إستفساراتكم ومشاركتكم



المصادر
Lena151 - AjnabiZ - MiStEr_X - SnD - iCU – allko

Art of Assembly - Win32 SDK - Secrets of Reverse Engineering -
The Art Of Exploitation- Java Techniques for Decompiling, Patching,and Reverse Engineering



hgik]sm hgu;sdm gglfj]zdk = hg]vs hgH,g Reversing for Newbies

   

قديم 11-22-2008, 09:28 AM   رقم المشاركة : 2 (permalink)
معلومات العضو
 
الصورة الرمزية PASSEWORD
 

 

 
إحصائية العضو








PASSEWORD غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
PASSEWORD is on a distinguished road

افتراضي


جميل جدا مختصر و مفيد
شكرا

التوقيع

*********************
حكمة : كل انسان يستطيع ان يكون الاول اذا اراد ذلك

 

   

قديم 11-22-2008, 08:46 PM   رقم المشاركة : 3 (permalink)
معلومات العضو
 
الصورة الرمزية hakaka
 

 

 
إحصائية العضو





hakaka غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
hakaka is on a distinguished road

افتراضي


موضوع مهم يا اخي بارك الله فيك

التوقيع

 

   

قديم 11-23-2008, 03:51 PM   رقم المشاركة : 4 (permalink)
معلومات العضو
 
الصورة الرمزية MR.hak
 

 

 
إحصائية العضو





MR.hak غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
MR.hak is on a distinguished road

افتراضي


شكرا

التوقيع

::لتواصل::


GaMe OveRe

 

   

قديم 11-25-2008, 11:49 PM   رقم المشاركة : 5 (permalink)
معلومات العضو
 
إحصائية العضو







العربي الصغير غير متواجد حالياً

إرسال رسالة عبر MSN إلى العربي الصغير

 

 

إحصائية الترشيح

عدد النقاط : 10
العربي الصغير is on a distinguished road

افتراضي


يعطيك العافيه اخي منتظرين جديدك

التوقيع

http://img295.imageshack.us/img295/8...e819673un5.gif

 

   

قديم 11-28-2008, 06:32 PM   رقم المشاركة : 6 (permalink)
معلومات العضو
 
الصورة الرمزية blackbeard
 

 

 
إحصائية العضو





blackbeard غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
blackbeard is on a distinguished road

افتراضي


جميل جدا مختصر و مفيد and good once يا هلابطل

   

قديم 11-28-2008, 07:01 PM   رقم المشاركة : 7 (permalink)
معلومات العضو
Dmar najd
رآئد
 
الصورة الرمزية Dmar najd
 

 

 
إحصائية العضو





Dmar najd غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
Dmar najd is on a distinguished road

افتراضي


يعطيك العآفيه آخوي

   

قديم 12-17-2008, 11:22 AM   رقم المشاركة : 8 (permalink)
معلومات العضو
 
الصورة الرمزية Sniper_Mo
 

 

 
إحصائية العضو







Sniper_Mo غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
Sniper_Mo is on a distinguished road

افتراضي


شكرا لك اخي الغالي درس مفيد وجيد
واصل اخي

التوقيع

سيستمر غيابي عن الشبكة والانترنت لعدة اسابيع اخرى. ارجو ان تدعولي لانني امر بازمات :088: عدة. وشكرا لكم

 

   

قديم 01-01-2009, 03:15 AM   رقم المشاركة : 9 (permalink)
معلومات العضو
 
الصورة الرمزية H@Jr!_H@Ck
 

 

 
إحصائية العضو








H@Jr!_H@Ck غير متواجد حالياً

إرسال رسالة عبر MSN إلى H@Jr!_H@Ck إرسال رسالة عبر Yahoo إلى H@Jr!_H@Ck إرسال رسالة عبر Skype إلى H@Jr!_H@Ck

 

 

إحصائية الترشيح

عدد النقاط : 10
H@Jr!_H@Ck is on a distinguished road

افتراضي


مشكور

التوقيع




ضحية اجنبية واحدة و لا الف ضحية عربية مسلمة

 

   

قديم 02-23-2009, 02:38 PM   رقم المشاركة : 10 (permalink)
معلومات العضو
 
الصورة الرمزية midosmidos
 

 

 
إحصائية العضو





midosmidos غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
midosmidos is on a distinguished road

افتراضي


موضوع جمييييييييييل جدا والف شكر

   

قديم 04-18-2009, 04:08 PM   رقم المشاركة : 11 (permalink)
معلومات العضو
 
الصورة الرمزية SNIPER NaJd
 

 

 
إحصائية العضو





SNIPER NaJd غير متواجد حالياً

إرسال رسالة عبر MSN إلى SNIPER NaJd

 

 

إحصائية الترشيح

عدد النقاط : 10
SNIPER NaJd is on a distinguished road

افتراضي


مميز ما شاء الله

واصل ما قصرت

تحياتي وودي

التوقيع

لا يجب أن تقول كل ما تعرف ... ولكن يجب أن تعرف كل ما تقول
http://i106.photobucket.com/albums/m...emat/3h019.gif

 

   

قديم 04-23-2009, 03:41 PM   رقم المشاركة : 12 (permalink)
معلومات العضو
 
الصورة الرمزية kazimo
 

 

 
إحصائية العضو






kazimo غير متواجد حالياً

 

 

إحصائية الترشيح

عدد النقاط : 10
kazimo is on a distinguished road

افتراضي


منكم نتعلم , وبارك الله فيك.

   

قديم 07-12-2009, 02:45 AM   رقم المشاركة : 13 (permalink)
معلومات العضو
 
الصورة الرمزية p4w
 

 

 
إحصائية العضو







p4w غير متواجد حالياً

إرسال رسالة عبر MSN إلى p4w

 

 

إحصائية الترشيح

عدد النقاط : 10
p4w is on a distinguished road

افتراضي


موضوع مهم يا اخي بارك الله فيك

التوقيع

[IMG]http://www7.0zz0.com/2011/05/15/12/796181342.jpg[/IMG]

 

   

قديم 09-07-2009, 09:15 PM   رقم المشاركة : 14 (permalink)
معلومات العضو
 
إحصائية العضو







وائل الكرخي غير متواجد حالياً

إرسال رسالة عبر MSN إلى وائل الكرخي

 

 

إحصائية الترشيح

عدد النقاط : 10
وائل الكرخي is on a distinguished road

افتراضي


شكراااا

التوقيع

[align=right]ارجو من الاداة تغيرر اسمي الئ


the spider[/align]

 

   

موضوع مغلق

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


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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
كتاب مدخل الى الهندسة العكسية z3r0 b0mb3r قســم إختــراق الأجهــزة 2 08-07-2010 03:29 PM
ما هي الهندسة العكسية وفيما تستخدم BoM_C4 قســم إختــراق الأجهــزة 16 04-13-2010 09:58 PM
[ الدرس الآول ] شرح بالفيديو + بالتفصيل = ثغرة SQL Injection [ للمبتدئين ] .. KiLLer HaCkEr قـسـم إخـتـراق الـمـواقـع والـسـيرفـرات 1 11-13-2009 02:18 AM
دورة تعلم الهندسة العكسية من البداية حتى الاحتراف ..الدرس الاول انظمة العد PASSEWORD قســم إختــراق الأجهــزة 52 10-31-2009 12:09 PM
أشهر مواقع الهندسة العكسية marciminihacker قســم إختــراق الأجهــزة 1 10-08-2009 07:18 PM


الساعة الآن 01:11 PM


[ vBspiders.Com Network ]

SEO by vBSEO 3.6.0