EASY7

리버싱 기초 본문

보안 공부/리버싱

리버싱 기초

E.asiest 2019. 7. 28. 22:58

리버싱 = RCE(Reversing Code Enginerring)=RE= 역공학=리버싱

(리버싱=디버깅)은 아님. 리버싱의 많은 방법 중 디버깅이 존재할 뿐이다.

실행파일을 생성하는 어떤 프로그래밍 언어라도 빌드 과정을 거치면 모두 기계어로 변환된다.

디버거를 통해서 어떤 실행 파일이라도 어셈블리 언어로 번역해서 볼 수 있기때문에 리버서는 기본적으로 어셈블리언어를 잘 알아야한다. 어셈블리 언어만 잘 익혀 놓으면 실행파일이 어떠한 프로그래밍 언어로 제작되었는지 상관없이 디버깅을 통한 코드 분석이 가능하다.

어셈블리언어는 CPU에 종속되어있다. 즉 일반 PC에서 많이 사용되는 intel x86계열의 CPU와 모바일 제품에서 많이 사용되는 ARM계열의 CPU는 서로 어셈블리 명령어의 형태가 다르다.

 

OllyDbg 

Win32 전문 디버거.

무료로 제공되며 가볍고 빠르다.

 

Hex-Rays의 IDA Pro 

리버싱 분야에서 최강의 유틸리티로 수많은 기능이 있다.

가격이 비싸다..! (300만원?)

 

 

 

패치 : 프로그램의 파일 혹은 실행 중인 프로세스 메모리의 내용을 변경하는 작업이다.

크랙 : 패치와 의미가 동일하지만 악의적인 의도인 작업.

Comments