دانلود فایل


پاور پوینت (اسلاید) مهندسي معکوس - دانلود فایل



دانلود فایل پاور پوینت (اسلاید) مهندسی معکوس

دانلود فایل پاور پوینت (اسلاید) مهندسي معکوس  با سلام

فایل مهندسي معکوس یک پاورپوینت بسیار عالی در 51 اسلاید می باشد این PowerPoint بر اساس استاندارد های اصلی طراحی پاورپوینت آماده و تنظیم شده است؛ این فایل دارای طراحی بسیار عالی و چشم نواز می باشد.
شما با استفاده ازاین پاورپوینت میتوانید یک ارائه بسیارعالی و با شکوهی داشته باشید و همه حاضرین با اشتیاق به مطالب شما گوش خواهند داد.

لطفا نگران مطالب داخل پاورپوینت نباشید، مطالب داخل اسلاید ها بسیار ساده و قابل درک برای شما می باشد، ما عالی بودن این فایل رو تضمین می کنیم.


محتواب برخی از اسلاید ها :


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


2- اشکاالزداها89PEBrowse ابزاری است برای اشکالزدایی کد میانی IL در محیط .NET آدرس دسترسی به این ابزار
download
free of charge at www.smidgeonsoft.com
اشکالزدایی در وضعیت هسته
- در کنار سیستم عامل قرار گرفته امکان وتوقف کردن و ادامه عملیات سیستم عامل را فراهم می کند.
- آگاه از تغییر آدرس دسترسی به حافظه در بین فرایندها است
- امکان تعیین نقطه توقف در وسطح کد مربوط به API ها و سیستم عامل
WinDbg
- دارای یک مد هسته ای برای اشکالزدایی است که به صورت راه دور نیز عمل می
- از راه دور می توان یک سیستم را با قرار دادن سوییچ /DEBUG درون boot.ini ، فعال نمود.
- با قرار دادن این سوییچ امکان اشکالزدایی از هسته نیز فراهم می شود.
- آدرس www.microsoft.com/whdc/devtools/debugging/default.mspx.

SoftICE
- امکان اشکالزدایی هسته سیستم عامل به صورت محلی را بر خلاف winDbg دارد
- توسط یک hotKey قابل فعال شدن است. پیش فرض برای کلید داغ CTRL D است.
- با فشردن کلید داغ می توان متوجه شد که سیستم در حال انجام چه نوع عملیات بوده است
- با فشردن کلید داغ سیستم عامل ویندوز متوقف و پنجره مربوط به این اشکالزدا بر روی صفحف منانیتور ظاهر می شود
- پردازنده مرکزی را با یک امولاتور جایگزین می کند که کار آن اجرای نرم افزار است و می تواند پردازنده را متوقف و نمایش دهد
10از آنحایی که اشکالزدایی در وضعیت هسته موجب توقف سیستم عامل می شود، وضعیت سیستم عامل را دجار مشکل می کند. لذا، پیشنهاد می شود که از راه دور این کار انجام شود. یا از ماشین مجازی استفاده شود
ماشین مجازی در واقع سخت افزار را بطور کامل شبیه سازی می کند
سیستمی که بر روی ماشین مجازی قرار است اجرا شود، صفحات نمایش اش درون یک پنجره نمایش داده می شوند و محتوی دیسک سخت نیز در فایلی حداگانه ذخیره می شوند.

3- دی کامپایلرها

ابزار رویایی مهندسی معکوس هسند.
دی کامپایلرها در محیط دات نت امکان برگشت کد بطور کامل را دارند

4- ایزار کنترل سیستم
این ابزار با استفاده از رابطهای سیستم عامل اطلاعاتی برای مانیتور کردن عملیات سیستم بدست می آورند.
مثال : عملیات بر روی فایلها ، www.sysinternals.
- fileMon برای کنترل ترافیک فایلهای مورد دسترسی در سطح فرایندها
- TCPView برای نمایش ارتباطات TCP و UDP در سطح شبکه
-

11دی کامپایلرهادی کامپایلر، برنامه ای است که یک برنامه ی نوشته شده در زبان ماشین- زبان منبع- را خوانده و آن را به یک برنامه ی هم ارز در یک زبان سطح بالا – زبان مقصد- ترجمه می کند .دو کاربرد اصلی دی کامپایلر عبارتند از:

1- نگهداری نرم افزار:
بازیابی کد منبع مفقود یا غیرقابل دسترسی
ترجمه ی کد نوشته شده در یک زبان منسوخ به یک زبان جدیدتر
ساختاردهی کد قدیمی نوشته شده به طریقی غیر ساخت یافته (یعنی کد اسپاگتی)به یک برنامه ساخت یافته
انتقال برنامه ها به یک بستر سخت افزاری جدید
اشکال زدایی برنامه های باینری که مشخص شده باگهایی دارند اما کد منبع آنها در دسترس نیست
2- امنیت نرم افزار:
به عنوان ابزاری برای درستی یابی کد مقصد تولید شده توسط کامپایلر در سیستمهایی که ایمنی نرم افزار حیاتی است، استفاده می شود زیرا کامپایلر نمی تواند در این سیستم ها قابل اعتماد باشد
3- بررسی وجود کدهای بدخواهانه نظیر ویروس ها. 12
ساختار نحوی کد ماشین توسط گرامر زبان ماشین مشخص می شود. البته خطا در کد باینری به ندرت مشاهده می شود. مشکل اصلی تحلیلگر نحوی جدا سازی کد از داده است.
بخش جلویی دیکامپایلر13مراحل دیکامپایلر
1- تحلیل نحوی
تحلیل نحوی با ایجاد ماشین خودکار قطعی برای کد اسمبلی انجام می شود.
83E950 sub cx, 50;
آیا 83 کد یک عملگر است؟
چه تعدادی عملوند دارد ؟
چند بایت عملوندها هستند ؟
کدامیک ثبات و کدامیک داده است ؟
- مشکلات
- تشخیص آدرس شروع و پایان
- تفکیک کد از داده
14مشکل 1- تشخیص نقطه شروع15 مشکل 2- تشخیص نقطه خاتمهمعمولا“ توسط یک وقفه مثل int 21h نقطه خاتمه برنامه جهت برگشت به سیستم عامل مشخص می شود. مشکل 3- تفکیک داده از کد
اولین دستورالعمل یا نقطه ورود مشخص می شود
دستورالعملها بطور ترتیبی تا دستورالعمل پرش و یا فراخوانی.، مشخص می شوند
چنانچه پرش شرطی باشد هر دو مسیر ممکن پیمایش می شوند
فراخوانی ها کنترل را به تابع مورد نظر لنتقال و به دستورالعمل بعد از فراخوانی انتقال می دهد
16گراف جریان کنترلیtypedef struct _BB
{ byte nodeType; //Type of node
int numInEdges; //Number of in edges
struct BB inEdges; //Array of pointers to predecessors
int numOutEdges; //Number of outedges
struct BB outEdges; //Array of pointers to successors
//other fields go here
} BB;
typedef BB PBB; //Pointer to a basic block

می توان با تعیین ساختارهای کنترلی به مرور گره های گراف حریان کنترلی را ساده نمود تا به یک گره رسید. برای نمونه به گراف شکل ذیل توجه نمایید. در این گراف فرض بر آن است که با تحلیل جریان داده ها اسامی متغیرها مشخص شده است. 17181- تشخیص ساختار حلقه ها (127)حلقه ها بواسطه لبه های برگشتی مشخص می شوند.
دو لبه برگشتی (B14,B13) و (B15,B6)
نوع حلقه بر اساس header یا جملات ابتدای حلقه مشخص می شود.
حلقه (B14,B13) شرطی را در ابتدا بررسی نمی کند اما آخرین جمله آن آزمون اجرای مجدد حلقه است. این می تواند یک در اصطلاح post-tested loop مثل do-while یا repeat-until باشد.
حلقه به صورت مقابل مشخص می شود:
1920مهندسی معکوس برنامه های شیی گرا- انگیزه
دشوار بودن درک برنامه های شیی گرا بواسطه توزیع عملیات در بین کلاسها
ایجاد مستندات پس از تصحیح کد
تغییر کد موجود برای : 1- تصحیح 2- تکمیل 3- تطابق با محیط 4- تغییر ساختار
ا
- تحلیل کد برنامه ها (ص 18)
تحلیل پویا : برای تحلیل پویا نیاز به ردیاب، نتایج وابسته به اجرا، مشکل تعمیم نتایج در جهت تشخیص رفتار، برنامه باید قابل اجرا باشد
تحلیل ایستا : در تحلیل ایستا نتایج همیشگی و غیر وابسته به اجرای خاص
نمایش نتایج: نمایش حاصل تحلیل مستلزم زبانی مناسب است و نمایش صرفاً در قالب دیاگرامهای UML محدودیتی برای تحلیل است.
قابلیت استفاده : حاصل تحلیل می بایست در سطحی از جزییات ارایه شود که قابل در ک برای خواننده باشد:
- بطور متوسط وجود 10 عنصر حداکثر درون دیاگرام کافی است
- نمایش نقشه کلی با امکان تاکید بر بخش خاص و بکارگیری تکنیکهای نمایش اطلاعات حجیم
درک برنامه : برنامه نویس برای درک عملکرد برنامه نیاز به تحلیل خودکار آن دارد
تحلیل میزان تاثیر : میزان تاثیر


21دیاگرامهای UMLبرای در ک برنامه ها می توان از دیاگرامهای UML استفاده نمود. در ادامه انواع دیاگرامها توضیح داده شده است.
1- دیاگرام کلاس
– دیاگرام کلاس برای درک ساختار ایستای برنامه ها و چگونگی ارتباط بین کلاسها مورد استفاده قرار می گیرد ( ص 22).
1- کلاس library رابطه بین کاربرها و مستندات را از طریق شیی امانت یا loan ایجاد می کند.
library مهمترین کلاس با متدهای addUser، removeUser، addDocument و removeDocument
2- کلاس User برای کاربرهای عادی و کلاس InternalUsers برای کاربرهای داخلی
3- انواع مسندات Document در قالب book, Journal و TechnicalReport مشخص شده اند.
4- Loan رابط بین User و مستندات Document است.
5- با فراخوانی متد isAvailable از کلاس document کار گرفتن امانت با قراخوانی متد authorizedLoan شروع می شود.
6- کاربرها را می توان بر اساس نامشان توسط متد searchUser جستجو کرد
7- کتب را با متدهای searchDocumentByTitle و searchDocumentByISBN می توان جستجو نمود.
- هدف استخراج دیاگرام کلاس از متن برنامه ها است. 2223دیاگرام شیدیاگرام شیی تاکید بر اشیایی دارد که درون یک برنامه ایجاد می شوند. دو نوع دیاگرام شیی وجود دارد:
1- دیاگرام ایستا : رابطه بین اشیا در یک برنامه را مشخص می کند
2- دیاگرام پویا : رابطه بین اشیا در یک اجرا از برنامه را مشخص می کند
در شکل ذیل یک نمونه از دیاگرام ایستا ی شی مشخص شده است. در این شکل برای ایجاد هر شیی گره ای مجزا مشخص شده است.



شیی loan1 درون لیست loans از شیی library1 که شاخص کتابخانه است، قرار دارد.
loan1 به کاربر از کلاس user و InternalUserو لیست کتب مورد استفاده وی از کلاسها ی book ، journal و TechnicalReportاشاره دارد.
loan2 و loan3 اشیا موقتی هستند.



24دیاگرام پویای شیدیاگرام پویای شیی که در شکل ذیل ارایه شده است شاخص یک اجرا با سناریوی ذیل است:
1- یک استفاده کننده داخلی با نام InternalUser1 عضو کتابخانه می شود.
2- استفاده کننده داخلی دیگری با نام InternalUser2 عضو می شود.
3- کتابی با نام Book1 آرشیو می شود .
4- کتاب دیگری با نام Book2 آرشیو می شود.
5- مجله ای با نام Journal1 آرشیو می شود.
6- مجله آرشیو شده در ساعت 5 (Journal1) توسط اولین عضو (InternalUser1) به امانت (loan1) گرفته می شود.
7- مجله امانت گرفته شده (Journal1) در ساعت 6 به کتابخانه برگشت داده می شود و از لیست امانات خارج می شود.
8- کتابدار تایید می کند که کتاب امانتی برگشت داده شده است.
در شکل ذیل براکت شاخص فاصله زمانی است و شیی loan2 برای حذف loan1 ایجاد شده است.





2526دیاگرام های تعاملدیاگرام تعامل شاخص تعامل بین اشیا جهت رسیدن به هدفی خاص است.
دو نوع دیاگرام تعامل وجود دارد.
تعامل بین اشیا در قالب فراخوانی متدها می باشد.
تعامل بین اشیا معمولا“ بر اساس زمان و دنباله اجرایی شماره گذاری می شوند.
برای نمونه فراخوانی شماره 3.2 شاخص دومین فراخوانی داخل فراخوانی شماره 3 است.
در شکل ذیل :
1- اولین عمل 2728دیاگرام توالی فوق نمایانگر تعامل بین اشیا جهت برگشت دادن یک کتاب امانتی به کتابخانه است.
1- فراخوانی متد IsOut برای این منظور که آیا کتاب برگشت داده شده جز لیست کتب امانتی است ؟
2- فراخوانی تودرتوی isAvailable با شماره 1.1
3- متد removeloan با استفاده از شیی موقت loan2 کار حذف امانت را انجام می دهد.
29گراف جریان شییگراف جریان شیی مبنایی برای استخراج انواع دیاگرام ها از متن برنامه ها است.
گراف جریان شیی (OFG) شاخص چگونگی ایجاد و مقدار دهی به اشیا است.
برای استخراج گراف جریان شیی برنامه ها در قالب ذیل خلاصه می شوند:
a : ویژگی کلاس
f : پارامتر فرمال
cs : کانستراکتور کلاس
- جملات شامل سه دسته ایجادی، تخصیصی و فراخوانی
پارامترها پیشوند نام package / class دارند
دنباله ویژگیهایی مثل a.b.c تبدیل به آخرین فیلد یعنی
B.c می شود. در اینجا فرض بر این است که b از نوع
کلاس B است.30مثالالف - ویژگی loans از کلاس Libraryب- تعریف متد borrowDocument از کلاس libraryج - سازنده کلاس Libraryجملات شامل انواع ایجادی (قاعده 5)، تخصیصی (قاعده 6) و فراخوانی هستند.
متغیرهایی که شیی نیستند از برنامه حذف می شوند.
اسامی کلاسها با پیشوند نام package های در برگیرنده کلاس مشخص می شوند.

31خطوط 60 تا 62 تبدیل بهقوانین خلاصه سازی :
1- جملات شرطی و برگشت دهنده مقدار حذف می شوند
2- پارامتر ضمنی this مشخص می شود. 323- مقادیر برگشتی دقیقاً با تعیین دقیق مکان متد و کلمه return مشخص می شوند. 4- اسامی یگانه می شوند. برای این منظور مکان دقیقاً مشخص می شود و به اسامی یکسان پسوند شماره های مجزا اضافه می شود. خطوط 42 تا 43 تبدیل به33گراف جریان شییالف – گره های گراف
گراف جریان (N,E) شامل یک گره برای هر مکان درون برنامه است.
1- برای هر ویژگی کلاس یک گره جداگانه در نظر گرفته می شود. برای مثال: Library.loan
2- برای هر پارامتر رسمی یک گره در نظر گرفته می شود. برای مثال :
public boolean borrowDocument(User user, Document doc)
برای دو پارامتر رسمی این متد دو گره ذیل در نظر گرفته می شود:
1. Library.borrowDocument.user
2. Library.borrowDocument.doc
3- برای متغیر محلی
Loan loan = new Loan(user, doc);
گره ذیل در نظر گرفته می شود:
Library.borrowDocument.loan
برای شیی ضمنی this درون متد گره ذیل در نظر گرفته می شود:
Library.borrowDocument.this

34لبه های گرافگره ها بر طبق قواعد ارایه شده در شکل فوق به گراف افزوده می شوند.
برای هر فراخوانی گره های پارمترهای رسمی به واقعی متصل می شوند.
برای جمله x = new c(a1, …,ak) زوج (x, cs.this) ایجاد می شود.
برای فراخوانی y.m(a1, …,ak) لبه (y,m.this) ایجاد می شود.
برای فراخوانی x = y.m(a1, …,ak) لبه (m.return,x) ایجاد می شود. 35مثالLoan loan = new Loan(user, doc);
addLoan(loan);

36Containersدر جاوا کلاسهایی مثل Vector، LinkedList، HashSet و TreeMap که رابط Collection را پیاده سازی می کنند، نوعی دیگر از جریان داده را در برنامه ها ایجاد می کنند. مثال دیگر رابط Map است که توسط کلاسهای Hashtable، HashMap و TreeMap پیاده سازی می شود.
کلاسهای پیاده کننده Collection متدهای پابلیک برای درج و استخراج اشیا درون یک ظرف یا Container دارند.
کلاسهای پیاده سازی کننده Map امکاناتی مشابه دارند اما از کلیدها برای آدأرس دهی و دسترسی به اشیا استفاده می کند. برای این کار بجای متد insert از متد put استفاده می کنند.
دو عمل پایه که موجب تغییر جریان داده درون برنامه می شوند به شرح ذیل هستند:
(1) c.insert(x) (c,x)  E
(2) c.extract(x) (c,x)  E
می توان در فرم خلاصه دو دستورالعمل فوق را به دو دستورالعمل ذیل تبدیل نمود:
(1) c = x;
(2) x = c;
37مثالی از ظروفنمونه هایی از استفاده از ظروف در سطوح 4 تا 6 از کلاس library می باشد:
3. class Library {
4. Map documents = new HashMap();
5. Map users = new HashMap();
6. Collection loans = new LinkedList();
7. final int MAX_NUMBER_OF_LOANS = 20;
متد addloan شامل جمله loans.add(loan) در سطر 44 است.
40. private void addLoan(Loan loan) {
41. if (loan == null) return;
42. User user = loan.getUser();
43. Document doc = loan.getDocument();
44. loans.add(loan);  Library.loans = Library.addloan.loan;
45. user.addLoan(loan);
46. doc.addLoan(loan);
47. }

38119.نمونه دیگر از اجرای یک ظرف در داخل متد printAllloans است.
110. public void printAllLoans() {
120. Iterator i = loans.iterator();
121. while (i.hasNext()) {
122. Loan loan = (Loan)i.next();
123. loan.print();
124. }
}
خطوط 120 تا 122 به صورت ذیل خلاصه می شوند:
Library.PrintAllLoans.i = Library.loans ;
Library.PrintAllLoans.loan = Library.PrintAllLoans.i ;
مثال دیگر در مورد ویژگی users از نوع Map است که توسط HashMap مقدار دهی شده است.
متدهای addUser و getUser شامل دستورالعملهای درج و استخراج است. برای درج دستورالعمل زیر
Usres.put(new Integer(user.getCode()), user);  Library.user = Library.addUser.user;
برای استخراج مقدار دستورالعمل ذیل استفاده می شود:
Return (User)users.get(new Integer(userCode));  Library.getUser.return = Library.usres;
کنترل حالات استثنایی : مرجع 7639الگوریتم انتشار جریانگراف OFG شاخص کلیه جریان داده ای از جمله اشیا است.
جریان های داده ای چه نوع اطلاعاتی را در اختیار می گذارند ؟ ( تغییر نوع، محل ایجاد شیی)
مستقل از چگونگی و نوع اطلاعات قابل استخراج از OFG می توان الگوریتم کلی ذیل را برای کشف چگونگی انتشار داده در OFG جهت استخراج اطلاعات مورد نظر، بکار گرفت.
40الگوریتم انتشار جریان (2 ص 45)الگوریتم فوق شاخص forward propagation یا انتشار رو به جلو است. برای انتشار رو به عقب می بایست مجموعه out را بر مبنای in گره های بعدی محاسبه نمود.
از آنجاییکه OFG صرفاً برای در نظر گرفتن کلیه مسیرهای ممکن جریان داده ایجاد شده است، مسیرهای غیر ممکن هم در الگوریتم در نظر گرفته می شود. بنابراین اطلاعاتی بیشتر از آنچه که هست را نشان می دهد.
حساسیت به شیی از آنجاییکه اسامی ویژگیها و متدهای کلاس پیشوند نام کلاس را می گیرند، مشخص نیست که به کدام شیی متعلق می باشند.
برای نمونه کلاس loan را در ادامه در نظر بگیرید. فرض کنید که دو شیی متفاوت loan1 و loan2 برای آن ایجاد شده است.
برای جمله های خطوط شماره 141 و 144 از این کد که درون دو متد به ترتیب getUser و getDocument به ترتیب می باشند، جملات خلاصه شده در حالت غیر حساس و حساس به شیی مشخص شده است.
لطفا در خرید این فایل تردید نکنید
روی دکمه پرداخت در زیر کلیک کنید

پاور


پوینت


(اسلاید)


مهندسی


معکوس


مقاله


پاورپوینت


فایل فلش


کارآموزی


گزارش تخصصی


اقدام پژوهی


درس پژوهی


جزوه


خلاصه


سورس تصاویر پس زمینه HD

تحقیق در مورد مقدمه‌اي از معادلات ديفرانسيل معمولي 38 ص

پاور پوینت (اسلاید) ارتباطات سازماني و خروج از مديريت قارچي

دانلود نقشه زمین شناسی ورقه سردشت همراه با گزارش زمین شناسی در مقیاس 1:100000

طرح توجیهی احداث کارخانه آرد

تحقیق در مورد تشکیل شرکت سهامی



تصویر با کیفیت دو دور بری شده اتومبیل قراضه قدیمی

اقدام پژوهی: چگونه توانستم درس رياضي پايه دوم ابتدايي را براي دانش آموزانم شيرين وجذاب كنم

تصویر با کیفیت دو دور بری شده اتومبیل قراضه قدیمی