목록Reversing (3)
개인노트
명령어 단축키 설명 Restart [Ctrl+F2] 다시 처음부터 디버깅한다.(디버깅 중인 프로세스를 종료하고 재실행하여 하던 작업이 종료된다.) Step Into [F7] 한개의 OP Code 실행(CALL 명령어를 만나면 그 함수의 코드 내부로 진입한다.) Step Over [F8] 한개의 OP Code 실행(CALL 명령어를 만나면 함수의 내부로 들어가지 않고 함수 자체를 실행한다.) Execute till Return [Ctrl+F9] 함수 코드 내에서 RETN 명령어까지 실행(함수 탈출)
디버깅을 시작하기 위해서는 전문적인 디버거를 사용해야한다. 디버거는 여러가지 종류가 있지만 여기서는 OllyDbg를 사용하기로 한다.OllyDbg는 한눈에 보기 쉬운 인터페이스 구조와 여러가지 Plugin을 사용할 수 있는 Win32 디버거이며 무료로 제공되고 가겹고 빨라 많이 사용된다.
[ 리버싱 엔지니어링(Reversing Engineering, RE: 역공학) 이란? ]기계장치 또는 시스템 의 구조, 기능, 동작 등을 분석하여 그 원리를 이해하여 단점을 보완하고 새로운 기능을 추가하는 일련의 작업이다. [ 리버싱 방법 ]실행 파일의 분석 방법에는 두 가지 방법으로 나뉜다. 정적 분석으로 정보를 수집하면서 프로그램의 구조와 동작 원리에 대해 예측 할 수 있다.1. 정적 분석 : 파일의 외관을 관찰하고 분석하는 방법이다. 파일의 종료, 크기, 헤더(PE)정보, 내부 문자열 등.. 다양한 내용을 확인하는 것이다. 디스어셈블러(Disassembler)를 이용하여 내부 코드와 구조를 확인 하는 것도 정적 분석 방법이다.2. 동적 분석 : 파일을 실행시켜서 행위를 분석하고 디버깅을 통하여 코드..