پاورپوینت مهندسی معکوس (pptx) 52 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 52 اسلاید
قسمتی از متن PowerPoint (.pptx) :
بنام خدا
1
2
تعریف مهندسی معکوس
مهندسی معکوس روشی برای استخراج مفاهیم از متن برنامه ها است.
هدف از مهندسی معکوس
ایجاد امکان درک مفهوم برنامه ها از طریق تحلیل متن برنامه ها و استخراج مدل های رفتاری و ساختاری
کاربرد
1. مستند سازي مجدد : ضعيفترين شکل مهندسي معکوس
2. اکتشاف مجدد طراحي: اين فرايند مستندات را مجدداً ايجاد مي نمايد و از دانش دامنه اي و ساير اطلاعات خارجي که امکان ايجاد مدل سيستم را در سطح بالاتري از انتزاع فراهم کند، بهره مي برد.
3. ساختار دهي مجدد : تبديل جنبي سيستم با همان سطح انتزاع و نيز سطح يکساني از معنا و کارکرد را ايجاد مي کند.
4. مهندسي مجدد : مهندسي معکوس + مهندسي رو به جلو
3
منبع - مهندسی معکوس باینری : استخراج مفاهیم از کد باینری
- مهندسی معکوس معمولی : استخراج مفاهیم از متن برنامه
لایه ها
1- سطح سیستم : استخراج ساختار کلی از متن برنامه
2- سطح کد : بررسی قطعه ای از کد
ابزار:
1- ابزار کنترل سیستمها 3- اشکالزداها
2- دیس اسمبلرها 4- دیکامپایلرها
4
زبانها 1. زبان c : برنامه های c را می توان ساده تر از بقیه زبانها از باینری به متن c بر گرداند.
2. زبان c++ : مشکل بدست آوردن ساختار سلسله مراتبی و تعیین اجزا کلاسها است
3. جاوا : - ماشین مجازی - استقلال از سیستم عامل
- ساختارهای متفاوت برای پیاده سازی کلاسها، نشانگرها و غیره
4. c# : - msil - CLR
ابزار
1- ابزار کنترل سیستمها
2- دیس اسمبلرها
3- اشکالزداها
4- دیکامپایلرها
5
روش ها - روشهای متفاوتی برای مهندسی معکوس با در نظر گرفتن هدف، نوع سکوی کاری برای ایجاد و اجرای برنامه و اطلاعات مورد نیاز، استفاده می شوند. در حالت کلی دو نوع تحلیل پویا و ایستا مطرح می باشند..
ابزار: 1- دیس اسمبلرها 2- اشکالزداها 3- دیکامپایلرها 4- ابزار کنترل سیستم 5- ابزار مدیریت سیستم
1- دیس اسمبلرها
- مشکل
مشکل اصلی تشخیص کد اجرایی از دستورالعمل است. برای این منظور سعی به ردیابی مسیر اجرایی برنامه ها می شود تا در ضمن ردیابی مسیر کد اجرایی تبدیل به دستورالعملهای اسمبلی شود. بعضاپگ درج جداول در داخل کد مشکلساز است. برای نمونه جدول پرش ایجاد شونده برای دستورالعمل switch می تواند برای حالت عادی تبدیل خطی مشکلساز باشد.
- خروجی
معمولا“ جهت درک بهتر کد فلوچارت یا دیاگرام فعالیت نیز برای کد اسمبلی حاصل ایجاد می شود. این فلوچارت کار درک کد را با دسته بندی دستورالعملها ساده تر می کند.در واقع این فلوچارت شاخص گراف جریان کنترلی در اجرای برنامه ها است.
6
7
8
ابزاری جهت یافتن خطا هستند که بعضا“ در صورت عدم دسترسی به کد اولیه کد اسمبلی را ایجاد می کنند.
امکانات یک اشکالزدا :
- دیس اسمبلر قدرتمند: امکان نمایش مقصد پرشها و مبدا و مقصد فراخوانیها
- نقاط توقف (break points) سخت افزاری و نرم افزاری: وقفه سخت افزاری برای دسترسی حافظه
- نمایش متغیرها وثباتها : می بایست امکان نمایش و تغییر مقدار ثباتها و حافظه را داشته باشد
- نمایش فرایندهای اجرایی : لیستی از نخها و برنامه های در حال اجرا
اشکالزداها با امکان دیس اسمبلی ومشاهده وضعیت اجرایی کد اسمبلی ابزار مناسبی برای مهندسی معکوس هستند
اشکالزداها ی User-mode و kernel mode
OLLyDlg در وضعیت کاربر عمل می کند
- با هدف مهندسی معکوس ایجاد شده.
- دیس اسمبلر قوی دارد
- تجزیه گر با قابلیت تشخیص حلقه ها و جمله switch ، بلاکها و سایر ساحتارهای برنامه
- امکان پچ کردن و اسمبلی و اجرای کد پچ شده را دارد و مجاناً از آأرس ذیل قابل دسترسی است
http://home.t-online.de/home/Ollydbg.
2- اشکاالزداها
9