Reversing

리버스 엔지니어링 07-14

말뚝_2 2014. 7. 14. 13:07

리버스 엔지니어링이란 ?

'역공학' 이라고도 하며 장치 또는 시스템의 기술적 원리를 그 구조 분석을 통해 발견하는 과정

 

정적 분석

프로그램을 실행시키지 않고 코드값만을 보고 분석하는 방법

동적 분석

프로그램을 실행하는 도중 프로그램의 입력값이나 변화값을 실시간으로 적용, 실행해나가면서 분석하는 방법

소스코드로 프로그램을 작성 -> 빌드과정에서 이진수로 값이 변화, 16진수 값으로 사용자가 보기 쉽게 바꿔서 출력(hexcode) -> 프로그램의 적용 과정을 사용자가 더 쉽게 이해 가능하도록 어셈블리코드로 바꿔서 출력

 

패치

기존에 있는 프로그램을 수정하는 작업

크랙

기존에 있는 프로그램을 악의적으로 수정하는 작업 (악의적 패치)

 

디버깅

버그를 잡는 작업

디버거

디버깅을 하는 프로그램 (ex. ollydebug)

 

올리 디버거 명령어

restart - 컨트롤+f2 :재시작

step into - f7 :

step over - f8

etr - : 리턴까지 실행

f2 : 브레이크 포인터

f9 : 실행

go to :