프로그램 : immunity debugger
- 아래 창은 CPU main창
1 : 불러온 실행파일의 디스어셈블 명령어 화면, 코드영역의 주소, 영역에 있는 OPCode
2 : 레지스터 목록, 레지스터에 들어가 있는 값
3 : 메모리에 들어가 있는 값 확인(메모리 덤프값)
4 : 스택에 들어가 있는 값 확인(지역변수, 함수프레임, 파라미터 값 등) à 프로그램 진행상태 분석에 쓰임
main - search for - all referenced text string
//메모리에 올라가있는 각종 문자열과 상수값을 출력
해당 문자열 선택 후 우클릭으로 follow in disassembler 클릭시 해당 라인으로 이동함
main의 해당 줄 우클릭 - follow in dump - immediate constant
//해당 명령문에서 해당 메모리주소로 덤프하는 방법
F2 : 중지점 설정 (여러군데 가능)
F9 : 디버깅 실행(Debug - Run)
F7 : 다음 구문으로 이동(함수를 타고 들어감)
F8 : 다음 구문으로 이동(함수를 통째로 넘어감)
//BP는 하늘색 배경색으로 바뀜
//실행되고 있는 위치는 회색 배경색으로 바뀜
- 스택 값 확인 창 떨어진 크기 확인
스택 값 확인 화면에서 우클릭 Address - Relative to EBP 클릭 시
해당 EBP에서 몇칸이 떨어져있는지 확인할 수 있다.
- 패치한 파일 다시 저장하는 방법
화면에서 우클릭 - Copy to executable - selection을 누르면 수정한 내용 창이 뜬다.
여기서 뜬 창 우클릭 - save file 클릭으로 패치한 파일을 다시 저장할 수 있다.