luvit

리버스 엔지니어링 개요 본문

Hacking/Reverse Engineering

리버스 엔지니어링 개요

HongJun Choi 2017.12.27 03:27

리버스 엔지니어링이란 간략하게 "소스코드를 역추적하는 것"을 말한다.


코딩을 하고 최종적으로 컴파일까지 완료했다면 EXE, DLL 파일 등이 생성된다.

제작자가 아닌 사람들은 컴파일 된 파일들의 소스코드를 볼 수 없는 것이 일반적인 상식이다.

하지만, 리버스 엔지니어링이라는 기술을 사용하면 바이너리 분석을 통해 원래의 소스코드가 어떤 식으로 만들어졌는지 파악이 가능하다.

또한, PE Header 분석을 통해 어떤 라이브러리가 링크돼 있는지 분석 할 수 있다.


· 리버스 엔지니어링 적용 범위

① 모의해킹, 취약점 발견

② 보안코드 개발

③ 버그 수정

④ 신기술 연구와 학습


· 리버스 엔지니어링 전 필수 조건

① C/C++에 대한 코드 작성 능력

② 라이브러리 컨트롤 능력

③ Win32 API 및 시스템 프로그래밍 기반지식


리버스 엔지니어링을 통한 바이너리 파일 변조는 지적재산권에 걸려 무조건 "불법"이다.

구체적으로는 저작권 보호법인 DMCA(Digital Millenium Copyright Act)를 위반하여 처벌을 받게 된다.

'Hacking > Reverse Engineering' 카테고리의 다른 글

함수 호출  (0) 2018.01.04
스택(Stack)  (0) 2018.01.04
필수 어셈블리 명령어  (0) 2018.01.04
레지스터  (0) 2018.01.03
어셈블리  (0) 2018.01.03
리버스 엔지니어링 개요  (0) 2017.12.27
0 Comments
댓글쓰기 폼