완성된 제품을 상세하게 분석하여
제품의 기본적인 설계 개념과 적용 기술들을 파악하고 재현하는 것.
설계 개념→개발 작업→제품화의 통상적인 추진 과정을 거꾸로 수행하는 학문이다.
보통 소프트웨어 제품은 판매시 소스는 제공하지 않으나
각종 도구를 활용하여 컴파일된 실행 파일과 동작 상태를 정밀 분석하면
그 프로그램의 내부 동작과 설계 개념을 어느 정도는 추적할 수 있다.
이러한 정보를 이용하면 크랙, 즉 실행 파일을 수정하거나 프로그램의 동작을
변경하는 것이 가능하고, 또 유사한 동작의 복제 프로그램이나 보다 기능이 향상된 프로그램도
개발해 낼 수가 있다.
소프트웨어에 대한 역공학 자체는 위법 행위가 아니지만,
대부분의 제품이 이의 금지를 명문화 하고 있어
이러한 수법으로 개발한 제품은 지적 재산권을 침해할 위험성이 있다.
출처 : TTA용어사전 |