Reverse Engineering   역공학

(2026-04-07)

리버스 엔지니어링


1. 역공학 (Reverse Engineering)

  ㅇ 이미 완성된 제품이나 시스템을 분석하여,
     - 구조, 동작 원리, 설계 의도 및 구현 기술 등을 파악하고,
     - 이를 바탕으로 성능 개선, 기술 습득, 호환 제품 개발 등에 활용하는 기법

  ㅇ 기존 제품을 처음부터 새로 설계하는 데 필요한 시간비용을 줄이고,
     - 우수한 설계기법을 습득하거나,
     - 다른 제품의 설계 및 개발에 적용할 수 있는 기술적 통찰력을 얻음

  ㅇ 소프트웨어 개발 방법론에서 볼 때,
     - 생명주기 후반의 산출물(실행파일, 소스코드, DB 등)로부터,
     - 초기 단계의 설계 문서나 요구사항 등을 유추,복원하는 과정
     - 즉, 구현 결과를 분석하여 설계내용을 역으로 추적하는 것

     - 例) 
        . 소스코드 → 클래스 다이어그램, UML 구조도 생성
        . 실행 파일 (바이너리 분석) → 프로그램 구조 및 알고리즘 분석
        . 데이터베이스 스키마ERD데이터 모델 복원

  ㅇ 주요 활용
     - 호환 제품 개발 및 인터페이스 분석
     - 레거시 시스템의 문서화 및 유지보수
     - 보안 취약점 분석 및 악성코드 분석
     - 성능 개선 및 기술 이전, 특허 분석 등

소프트웨어 기타일반
1. CTI   2. eAI/EAI   3. SI (시스템통합)   4. 그룹웨어   5. 미들웨어   6. 워크플로우 관리   7. 자료흐름도   8. 클라이언트/서버   9. 협업   10. 다운사이징   11. 오픈소스SW   12. 프레임워크   13. CASE,CAD   14. 역공학  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]