مقدمه :

تکنیک های مهندسی معکوس نرم افزار توسط هر دو دسته افرادی که با ویروس هاس کامپیوتری سر و کاردارند به کار گرفته می شود . از یک سو نویسندگان نرم افزار های مخرب از ان برای شناسایی نقاط اسب پذیر سیستم های عامل و سایر نرم افزار عای مخرب از ان برای شناسایی نقاط اسیب پذیر سیستم های عامل و سایر نرم افزار های سیستمی و نفئذ به لایه امنیتی انها و اوده سازیشان استفاده می کنند و از سوی دیگر توسعه دهندگان نرم افزار های ضد ویروس با تجزیه و تحلیل نرم افزار های مخرب از طریق بررسی کد سمبلی انها و رد گیری فعالیت انها به ارزیایبی نحوه الوده شدن سیستم ، میزان خسارتی که به ان وارد می شود ، چگونگی پاک کردن الودگی و پیاده سازی روش هایی برای اجتناب از الودگی مجدد می پردازند.این کاربرد دوگانه موجب به وجود امدن یک رقابت شدید بین این دو گروه شده است به گونه ای که هر یک سعی در به کار گرفتن تکنیک های جدید تر ئ ابداع راه های موثرتر برای پیشی گرفتن بر دیگری را دارند که برای رسیدن به این هدف نیاز به مهارت های گوناگون ذهنی مانند تحلیل منطقی برای حل یک پازل به همراه درکی عمیق از پروسه تولید نرم افزار ها و اشنایی با جدیدترین تکنیک های مرتبط با مباحث مربوط به برنامه نویسی سیستم عامل ها و برنامه های سیستمی ، ساختار و عملکرد کامپایلر ها و زبان اسمبلی و نیز ابزار مربوطه می باشد

فهرست مطالب

چکیده       1

مقدمه         2

فصل اول

مهندسی معکوس نرم افزار چیست؟           4

کاربردهای مهندسی معکوس نرم افزار         5

کشف کدگذاری ها ورمزها           5

مبارزه با ویروس ها ونرم افزارهای مخرب         5

تغییر درروند اجرایی وباظاهر یک نرم افزار       6

طراحی مجدد یک نرم افزار           7

مستند سازی یک نرم افزار موجود     8

غلبه بر تکنولوژی مدیریت حقوق دیجیتالی       9

فصل دوم

روش ای تحلیل کد و ابزارها         10

بررسی فایل های اجرایی به صورت ایستا     12

شناسایی نوع کامپایلر     13

بررسی توابع ورودی       14

بررسی منابع     14

بررسی ساختارفایلهای اجرایی     15

بررسی فایل های اجرایی درمرحله اجرا         16

بررسی جزئیات پروسس       16

بررسی فعالیت های درزمینه فایل     17

بررسی فعالیت ها دررابطه با رجیستری         17

بررسی فراخوان های توابع           18

بررسی کد         19

فصل سوم

مهندسی معکوس و نرم افزارهای مخرب       23

انواع نرم افزار های مخرب       25

Virusesا                  25

Wormsا            26

Thojoan Horsesا             26

Backdorsا                   27

Stcky softwaresا                     28

Asware/spywareا                 29

تکنیک های مقابله با مهندسی معکوس نرم افزار         30

ویروس های چندریخت       31

ویروس های دگردیس         33

برپایی یک محیط امن         35

فصل چهارم

بررسی موردی(Case study)           37

نتیجه گیری       64

منابع           65

فهرست شکل ها

طراحی مجدد یک نرم افزار         14

فرایند تجیزیه و تحلیل نرم افزارها           18

تغیر در روند اجرایی و یا ظاهر یک نرم افزار

موارد زیادی ممکن است به وجود بیاید که درآنها نیاز به ایجاد تغییرات و یا اضافه کردن قابلیت های جدیدی به نرم افزاری داشته باشیم که سورس کد آن را در اختیار نداریم و یا اینکه شرکت سازنده دیگر از آن پشتیبانی نمی کند.در موارد زیادی هم نیاز به ایجاد تغییرات در ظاهر نرم افزار های موجود به خاطر پشتیبانی از یک زبان جدید ویا سایر موارد داریم که با استفاده از سایر روش های معمول قابل انجام نیستند. در اینگونه موارد نیز تکنیک های مهندسی معکوس به آسانی تغییرات را ایجاد می کنند.

بررسی توابع ورودی :

با توجه به این که برنامه ها در سیستم عامل ویندوز از توابع API برای انجام کارهای خود استفاده می کنند ، داشتن اطلاعات کافی در مورد توابع مورد استفاده در یک فایل اجرایی و کاربرد هریک از انها می تواند در مورد شناسایی اعمال مورد نیاز برنامه ها ما را یاری دهد. نرم افزار های زیادی برای بررسی فایل های DLL و توابع مورد نیاز یک فایل اجرایی وجود دارند که یکی از معروفترین انها نرم افزار Dependency walker می باشد که به همراه بسته نرم افزاری visual studio نیز ارائه شده است .

شناسائی نوع کامپایلر:

معمولا هر کامپایلر زمینه و ساختار خاصی را برای مدیریت و سازماندهی کد ها ، داده ها ، و منابع در فابل اجرایی خاص خود در نظر می گیرد که با کامپایلر ها ی دیگر کاملا متفاوت است . در نتیجه شناسایی نوع کامپایلر اولین قدم در جمع اوری اطلاعات محسوب می شود . یکی از قوی ترین ابزار ها برای تشخیص نوع کامپایلر و زبان مورد استفاده برای ایجاد فایل ها ی اجرایی نرم افزار peid است .

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


مقطع کارشناسی ارشد

بلافاصاله بعد از پرداخت به ایمیلی که در مرحله بعد وارد میکنید ارسال میشود.


فایل pdf غیر قابل ویرایش

قیمت25000تومان

قیمت45000تومان