오브의 빛나는 별

1부 2장 Hello World! 리버싱(2) 본문

리버싱

1부 2장 Hello World! 리버싱(2)

오브의 별 2022. 4. 22. 10:27
반응형

안녕하세요, 오브입니다.

오늘은 디버거 명령어를 간단하게 알아본 다음 베이스캠프를 설치하는 4가지 방법에 대해 살펴보겠습니다.

https://staraube.tistory.com/46

 

1부 2장 Hello World! 리버싱(1)

안녕하세요, 오브입니다. 오늘은 HelloWorld.exe 실행 파일을 디버깅하여 어셈블리 언어로 변환된 main() 함수를 찾아보겠습니다. Hello World! 리버싱 2.2.1. 디버깅 목표 main() 함수 찾기 2.2.2. 디버깅 시작

staraube.tistory.com

 

Hello World! 리버싱


2.3.1. 디버거 명령어

  • 디버거 동작 명령
명령어 단축키 설명
Go to [Ctrl+G] 원하는 주소로 이동(코드/메모리를 확인할 때 사용, 실행되는 것은 아님)
Execute till Cursor [F4]  cursor 위치까지 실행(디버깅하고 싶은 주소까지 바로 갈 수 있음)
Set/Reset BreakPoint [F2] BP 설정/해제
Run [F9]  실행(BP가 걸려있으면 그곳에서 실행이 정지됨)
Preview CALL/JMP address [Enter] 커서가 CALL/JMP 등의 명렁어에 위치해 있다면, 해당 주소를 따라가서 보여줌 (실행되는 것이 아님. 간단히 함수 내용을 확인할 때 유용함)

 

2.3.2. 베이스캠프

베이스캠프: 디버깅 진행 시 중간중간 코드에서 분석을 원하는 중요 포인트를 지정해 놓은 후 그 포인트로 빠르게 갈 수 있는 방법

 

2.3.3. 베이스캠프 설치하는 4가지 방법

  • 베이스캠프 주소는 40104F

1. Goto 명령

  • 4011A5에서 [F7]로 함수 내부로 들어가기
  • 40104F에서 [Ctrl+G] 클릭. “40104F” 입력 후 [OK]
  • [F4] 명령으로 실행 후 분석

2. BP 설치

  • 40104F에서 F2, F9
  • 목록 확인: [View] - [Breakpoints] or [ALT+B]

3. 주석

  • 40104F에서 [;]
  • 목록 확인: [Search for] - [User-defined comment]

4. 레이블

  • 40104F에서 [:]
  • 레이블 표시가 안될 때: [Options] - [Debugging options] - [Disasm] - ‘Show symbolic address’ 체크
  • 목록 확인: [Search for] - [User-defined labels]

반응형

'리버싱' 카테고리의 다른 글

1부 3장 리틀 엔디언 표기법  (0) 2022.04.23
1부 2장 Hello World! 리버싱(3)  (0) 2022.04.23
1부 2장 Hello World! 리버싱(3)  (0) 2022.04.23
1부 2장 Hello World! 리버싱(1)  (0) 2022.04.21
1부 1장 리버싱 스토리  (0) 2022.03.28