مهندسی معکوس
تعداد صفحات : 44 با فرمت ورد و قابل ویرایش
مقدمه 1 - 2
کاربرد مهندسی معکوس در نرم افزار 2 - 17
مزایا و دستاوردهای مهندسی معکوس 17 - 18
متدولوژی مهندسی معکوس 19 - 21
ضرورت شناخت رفتار فناوری برای انتخاب استراتژی مناسب 22 - 22
نگاهی به مهندسی مجدد 22 - 24
دنیای Crack
بخش اول:
معرفی 24 - 26
بخش دوم:
Reverse Engineering یا مهندسی معکوس چیست؟ 26 - 27
بخش سوم:
برنامه های امروزی و حفاظت از آنها 27 - 31
بخش چهارم:
رابطه Reverse Engineering و Assembly 31 - 33
بخش پنجم:
مهندسی معکوس و امنیت در دنیای نرم افزار 34 - 42
نتیجه گیری 43 - 43
منابع 44-44
مقدمه
عبارت «مهندسی معکوس»از مفاهیم سخت افزاری گرفته شده است که طی آن یک سازمان سخت افزاری، سخت افزار تولید شده توسط شرکت رقیب را خریداری می کند تا با تجزیه آن به رازهای ساخت آن دست پیدا می کند.این رازها هنگامی که طراحی رقیب و خصوصیات ساخت آن به دست آید، برملا می شود. اما این مستندات برای شرکت های رقیب قابل دسترسی نیستند. مهندسی معکوس به وسیله آزمایش خصوصیات یک محصول، یک یا چند خاصیت طراحی آن را به دست می آورد.
همچنین فرایند اکتشاف فن آوریهای بکار رفته در یک دستگاه، شی و یا سیستم از طریق تحلیل ساختار، عملکرد و وظیفه آن میباشد. معمولاً از این فرایند برای دست یابی (برای مثال یک دستگاه مکانیکی، قطعه الکترونیکی و یا برنامه نرمافزاری) و تحلیل جزییات نحوه عملکرد آن در نگهداری یا ساخت یک دستگاه یا برنامه مشابه استفاده میشود. حاصل این فرایند مشابه کپی کردن یک چیز از روی اصل آن میباشد.
درک سیستم نرمافزاری بر هر نوع تغییر مقدم است. فرآیند درک، مقدار زیادی از کل زمان صرف شده را در اِعمال تغییر میگیرد. نگهدارندگان دلایلی از جمله مستندات ناصحیح یا قدیمی، نبود مستندات، پیچیدگی سیستم و عدم شناخت کافی از قلمرو را علت فقدان درک صحیح از سیستم میدانند. راه تسهیل این مسایل، خلاصه کردن اطلاعات مربوط به سیستم (مثل تبین مشخصات و طرح) از طریق کد منبع است، بهشکلی که درک آنرا بالا برد.مهندسی معکوس تکنیکی است که میتوان از آن برای این کار استفاده کرد ، مهندسی معکوس به تنهایی منجر به تغییر در برنامه نمیشود، بلکه فقط راه را برای اجرای آسانتر تغییراتِ مطلوب هموار مینماید. تغییرات با استفاده از فنونی چون مهندسی پیشرو، بازسازی، و مهندسی مجدد پیادهسازی میشوند.