عملية تفكيك تُستخدم بشكل أساسي لتحليل شيء ما واكتشاف الطريقة التي يعمل بها بهدف استنساخها أو تعزيزها. يمكن تطبيق تقنيات الهندسة العكسية على مختلف الأشياء؛ بما في ذلك البرمجيات والآلات الفيزيائية والتقنيات العسكرية والعمليات الحيوية المرتبطة بآلية عمل الجينات وغيرها.

ويمكن توظيف المعرفة المكتسبة من تطبيق تلك التقنيات في مجالات متعددة مثل إنشاء منتجات مماثلة أو إعادة تصميم المنتجات القديمة أو إجراء تحليل أمني أو اكتساب ميزة تنافسية أو ببساطة تعليم الأشخاص كيفية عمل الأشياء. وأياً كان الغرض المطلوب منها فهي عملية اكتساب المعرفة من منتج نهائي. تُعرف هندسة البرمجيات العكسية بأنها استعادة التصميم والخصائص المطلوبة والوظائف لنظام برمجي ما عن طريق تحليل شيفرته البرمجية.