검색
색인
역공학, 逆工學, reverse engineering
완성된 제품을 상세하게 분석하여 제품의 기본적인 설계 개념과 적용 기술들을 파악하고 재현하는 것. 설계 개념→개발 작업→제품화의 통상적인 추진 과정을 거꾸로 수행하는 공학 기법이다. 보통 소프트웨어 제품은 판매 때 소스는 제공하지 않으나 각종 도구를 활용하여 컴파일된 실행 파일동작 상태를 정밀 분석하면 그 프로그램의 소스와 설계 개념을 어느 정도는 추적할 수 있다. 이러한 정보를 이용하면 실행 파일을 수정하거나 프로그램의 동작을 변경하는 것이 가능하고, 또 비슷한 동작의 복제 프로그램이나 더욱 기능이 향상된 프로그램도 개발해 낼 수가 있다. 대부분의 제품이 이의 금지를 명문화하고 있고, 이러한 수법으로 개발한 제품은 지적 재산권을 침해할 위험성이 있다.