32비트 실행파일(.EXE)을 올리디버거에 올리면
위와 같은 화면이 나온다.
왼쪽 위부터 시계방향으로
code window register window
Dump window stack window
code window
디버깅에 기본이 되는 디스어셈블 코드가 표시됨
어셈블리어 코드를 수정할 수도 있음
jump로 이동되는 주소로 선이 이어지고, 오른쪽엔 주석이 표시됨
break point를 걸 시 주소에 빨간마크가 새겨짐
register window
cpu 레지스터들이 표시됨
일부 레지스터는 수정도 가능
Dump window
메모리에 적재되어있는 raw hex값이 표시됨
아스키코드값으로도 표시되며 수정도 가능하다
stack window
esp가 가리키는 스택메모리 공간을 표시해줌
다음은 내가 올리를 사용하여 디버깅을 할때 주로 사용했던
단축키를 소개하려한다
[f2] 는 break point로 실행중 멈추고싶은 부분에 걸어줌
[;]는 comment로 어셈블리코드에 주석처리가 필요할때 사용
[f9]는 기본적인 실행이며 bp가 걸려있다면 그 부분까지 실행됨
[f7]은 한줄씩 실행되며 함수 내부로 들어갈때 사용
[f8]은 마찬가지로 한줄씩 실행되지만 함수내부로 들어가진 않음
[crlt+f9] 함수 내에서 빠져나오고 싶을때 ret까지 한번에 실행
[*]은 현재 다음 실행될 eip로 화면을 수정해주며
[-]는 이전에 실행했던 부분을 보여줌
단축키는 보통 이정도를 사용했으며
마우스 우클릭시 명령어가 영어로 나오니 보고 사용해도 상관없다
주로 All referenced text strings로 문자열과 주소를 검색하거나
All intermoduler calls로 호출되는 api함수를 검색하거나,
copy to executable file로 수정한 실행파일 복사본을 만들때 사용함
이외에도 많은 기능들이 있다
'보안 스터디 > reversing' 카테고리의 다른 글
[reversing.kr] Easy_Keygen (0) | 2018.09.27 |
---|---|
정적(static)/동적(dynamic) 라이브러리 (0) | 2018.09.06 |
[reversing] Easy_Crack 핸드레이 (0) | 2018.08.20 |
[reversing] 문자열패치 (0) | 2018.08.20 |
[reversing] 정적/동적 분석 (0) | 2018.08.14 |