مهندسی معکوس نرم افزار
Software Reverse Engineering (SRE)
با تدریس ابراهیم اخزری

در حال تدوین
در حال تدوین
پشتیبانی
مهندسی معکوس نرم افزار
مهندسی معکوس یا Reverse Engineering یکی از واژه هایی است که طی دهه های اخیر بسیار بیشتر از گذشته مورد استفاده قرار میگیرد و حتی در ادبیات عمومی و اجتماعی هم وارد شده است.
مهندسی معکوسی به علمی گفته میشود که از پاسخ به سؤال میرسند و در واقع فرایند کشف اصول تکنولوژیکی یک دستگاه، شیء یا یک سیستم میباشد که از طریق تجزیه و تحلیل ساختار و عملکرد آن حاصل میشود. در اکثر مواقع موضوع مورد بررسی یک دستگاه مکانیکی، الکتریکی، برنامه نرمافزاری یا یک ماده بیولوژیکی یا شیمیایی میباشد که بدون داشتن دانش قبلی و تنها با جداسازی اجزا و تجزیه و تحلیل شیوه عملکرد آن، سعی در ایجاد یک نمونه جدید از آن میگردد. مهندسی معکوس بهطور عمده در استفادههای تجاری و نظامی به کار میرود و هدف آن استنباط پارامترهای طراحی یک محصول موجود بدون داشتن دانش کافی در زمینه تولید آن محصول و فقط با پیمودن فرایند معکوس و بهکارگیری تکنیکهای مشابه میباشد.
اما در تعریف دقیق تر مهندسی معکوس نرم افزار (SRE) فرایند تجزیه و تحلیل یک سیستم نرم افزاری ، به طور کلی یا جزئی ، به منظور استخراج اطلاعات و نیز طراحی و پیاده سازی مجدد آن می باشد. همچنین از مهارت های مهندسی معکوس برای تشخیص و خنثی سازی ویروس ها و بدافزارها، بررسی امنیت نرم افزار و خطایابی نرم افزار استفاده می شود.
دلایل استفاده از مهندسی معکوس در حوزه نرم افزار
- وجود اسناد ناکافی از طراحی اصلی محصول
- برای تقویت ویژگی های خوب یک محصول جهت استفاده بلندمدت از محصول
- برای تجزیه و تحلیل ویژگی های خوب و بد محصولات رقبا
- نوسازی و آنالیز و نگهداری محصولات
- تلاش برای استخراج کدهای سطح بالای یک برنامه نرم افزاری بر اساس کدهای اسمبلی محصول نهایی
- وقتی ارتش یا سازمانهای نظامی یک کشور، محصولات نظامی کشور دیگر را به دست میآورند و میکوشند با مهندسی معکوس به دانش و فن آوری آن کشور دست یابند یا لااقل توان علمی و فنی سازنده را ارزیابی کنند.
- وقتی یک برنامه نویس، به جای طراحی سیستم و برنامه نویسی از نقطه صفر، یک برنامه یا سیستم موفق را مورد تجزیه و تحلیل قرار میدهد و سعی میکند اجزای آن را بازتولید کند.
- رفع محدودیت های نرم افزاری
این دوره برای چه کسانی مناسـب اسـت؟
- علاقه مندان به ورود به دنیای مهندسی معکوس نرم افزار
- علاقه مندان به تحلیل بدافزار
- علاقه مندان به اکسپلویت نویسی
- علاقه مندان به برنامه نویسی و امنیت نرم افزار
- کارشناسان ارزیابی امنیت و تست نفوذ
این دوره برای چه کسانی مناسـب نیست؟
- کسانی که وقت کافی برای انجام تمرینات را ندارند
- کسانی که مایل به ارتقای سطح فنی خود در توسعه نرمافزار نیستند
ویژگی های دوره
- پشتیبانی دوره توسط مدرس و تعامل با دانش آموختگان در شبکه های اجتماعی
تمامی آموزش ها بعد از انجام مراحل مقدماتی و کار بر روی تارگتهای آزمایشی دوره ، بر روی تارگتهای واقعی فراوان پیاده سازی می شوند تا دانشجو کاربرد آموزش ها را در دنیای واقعی ببیند
پس از اتمام دوره از دانشجو آزمون مهارتی عملی گرفته می شود تا از نتیجه غملکرد خود مطلع شود و بعد از اعلام نتیجه برنامه برای ادامه مسیر و … ارلائه می شود
جلسات دوره
بررسی معماری سیستم عامل
آموزش زبان اسمبلی موردنیاز
آموزش زبان سی پلاس پلاس پایه
آموزش زبان پایتون برای کیجن نویسی و ….
آشنایی با دیباگرها و دیکامپایلرها و … :
OllyDBG – X64DBG – dnSpy – IDA و دیگر برنامه های مطرح مهندس معکوس همراه با بررسی بهترین پلاگینهای کاربردی
تکنیکهای پایه محدودیت نرم افزار
تکنیکهای مهندس معکوس :
تکنیک Patching
تکنیک Serial Fishing
تکنیک Keygenning
پیاده سازی تکنیکها بر روی نرم افزارهای واقعی به زبانهای مختلف :
دات نت – وی بی – سی پلاس پلاس – دلفی و …
معرفی و آشنایی با انواع پکرها و تکنیکهای پکینگ و تقسیم بندی آنها
مباحث آنپکینگ نرم افزارها
همین الان ثبت نام کن
6 میلیون تومان پرداخت کامل
این فرصت استثنایی رو از دست نده!
6 میلیون تومان
نیاز به مشاوره تخصصی دارید؟
