Reverse Engineering
مهندسي معكوس عمل محاسبة چگونگي اجزاء نرمافزار است كه شما هيچ كدي براي ساختار آن در دست نداريد، يا عمليات ايجاد اين كدها در سطوح متفاوت و يا ايجاد آنها از طرقي غيروابسته به آن كار ميباشد.
در زمينههاي طبيعي پوشش دادن مهندسي معكوس بسيار سخت است و نياز به چندين مهندس متفاوت داشته و مقادير مناسبي از پشتيبانيهاي نرمافزاري را فقط براي تغيير آن به يك سيستم ايدهآل نياز دارد. هر چند، ما خواهيم فهميد كه توسط ابزارهايي كه در اختيارمان هستند، در دست داشتن يك راهنماي مناسب ميتوانيم كارمان را شروع نماييم. ما بايد بتوانيم اطلاعاتي را كه دربارة مواد نياز داريم بتوانيم استخراج نمائيم: ايجاد اصلاحات و هك كردن نمائيم تا بتوانيم نرمافزاري كه كد آن را در اختيار نداريم براي اينكه بتوانيم كارهايي را كه بطور طبيعي اين نرمافزار انجام ميدهد در دست بگيريم.