مهندسی معکوس (به انگلیسی: Reverse Engineering) به علمی گفته میشود که از پاسخ به سوال میرسند و در واقع فرایند کشف اصول تکنولوژیکی یک دستگاه، شیئ یا یک سیستم میباشد که از طریق تجزیه و تحلیل ساختار و عملکرد آن حاصل میشود. در اکثر مواقع موضوع مورد بررسی یک دستگاه مکانیکی، الکتریکی، برنامه نرمافزاری یا یک ماده بیولوژیکی یا شیمیایی میباشد که بدون داشتن دانش قبلی و تنها با جداسازی اجزا و تجزیه و تحلیل شیوه عملکرد آن، سعی در ایجاد یک نمونه جدید از آن میگردد. مهندسی معکوس به طور عمده در استفادههای تجاری و نظامی به کار میرود و هدف آن استنباط پارامترهای طراحی یک محصول موجود بدون داشتن دانش کافی در زمینه تولید آن محصول و فقط با پیمودن فرایند معکوس و به کارگیری تکنیکهای مشابه میباشد.
دلایل استفاده از مهندسی معکوس:
نوسازی نرمافزار: مهندسی معکوس به صورت کلی برای درک وضعیت موجود برنامه مورد نیاز است.
این عمل به منظور برآورد درست کوششهای مورد نیاز برای مهاجرت اطلاعات سیستم به یک وضعیت دلخواه است.
نگهداری نرمافزار: مهندسی معکوس نرمافزار میتواند مستندات لازم را برای درک وضعیت فعلی نرمافزار سیستم فراهم کند.
آنالیز محصول: برای بررسی اینکه یک محصول چه گونه کار میکند، از چه اجزایی تشکیل شده، برآورد هزینهها و مشخص کردن حقوق مالکیت بالقوه.
بازبینی امنیتی
بدست آوردن اطلاعات حساس به کمک دیس اسمبل و تجزیه و تحلیل طراحی اجزای سیستم
حذف محافظ کپی، دور زدن محدودیتهای دسترسی.
ایجاد کپیهای بدون مجوز / تایید نشده.
اهداف علمی / آموزشی.
سرفصل های این دوره ی آموزشی
فصل اول:
- آشنایی با مهندسی معکوس و آشنایی با کاربردهای آن
- معرفی مبناهای اعداد
- معرفی حافظه ها
- معرفی رجیسترهای CPU
- معرفی دستورات مهم اسمبلی
فصل دوم:
- معرفی دیباگرها
- آموزش کامل دیباگر OLLYDBG
- نحوه شناسایی نوع کامپایلر نرم افزارها
فصل سوم:
- آموزش کرک نرم افزار به تکنیک Patching
- نحوه ایجاد Patch
- معرفی نرم افزار Resource Hacker
- معرفی Decompiler ها
فصل چهارم:
- آموزش کرک کردن نرم افزار به تکنیک Serial Fishing
فصل پنجم:
- آموزش کرک کردن نرم افزار ها با تکنیک Self Keygenning
- آموزش کرک کردن نرم افزار ها با تکنیک Keygennig
فصل ششم:
- معرفی روش های Anti Craciking
- معرفی Packer & Protector ها
- آموزش Manual Unpacking
- آموزش Inline Patching
- آموزش ایجاد Loader
فصل هفتم:
- آموزش کرک کردن نرم افزار های .Net
فصل هشتم:
- آموزش کرک کردن نرم افزار های Java
- آموزش کرک کردن نرم افزارهای Android
اطلاعات عمومی دوره:
مدت دوره: 35 ساعت
نام مدرس: میثم منصف (برنامه نویس و کارشناس امنیت اطلاعات)
محصول: دوره آموزشی تصویری بصورت کاملا پروژه محور
حجم دوره: 4.6 گیگا بایت
نحوه تحویل: دو عدد DVD
فرمت ویدیوها: WMV