whois
리버스 엔지니어링 개요 본문
리버스 엔지니어링이란 간략하게 "소스코드를 역추적하는 것"을 말한다.
코딩을 하고 최종적으로 컴파일까지 완료했다면 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 |
Comments