리버스 엔지니어링

위키백과 ― 우리 모두의 백과사전.

리버스 엔지니어링(영어: reverse engineering, RE) 또는 역공학(逆工學)은 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 좋은 취지로 사용하면 소프트웨어의 취약점 분석이나 악성코드 분석등에 사용될 수 있으나, 악용될 경우 키젠이나 맵핵등의 용도로 사용이 가능하다.

[편집] 사용이유

  • 사라진 문서
  • 상품 분석
  • 안전 감사
  • 악성코드 분석
  • 소프트웨어 보안성 테스트
  • 복제 보호 해제
  • 허가되지 않은 불법 복제의 생성
  • 사기 행위
  • 맵핵
  • 키젠

[편집] 대표적인 도구

소프트웨어 리버스 엔지니어링을 위해 IDA ProOllydbg등의 도구들이 사용된다. 이 도구들은 어셈블리 언어들을 분석하기 쉽게 하도록 분석하는 기능과 코드를 변형하는 기능등을 제공한다.