실행 파일을 메모리에 올리면, 그 주소값은 실행 시점에 따라 동적으로 변경된다. 운영 체제에서 메모리를 할당할 때, 주소를 랜덤하게 할당하는 방식(RAM을 동적으로 할당)을 사용하기 때문에, 같은 실행 파일이라도 실행할 때마다 메모리 주소가 달라질 수 있다. 이를 주소 공간 레이아웃 난수화(ASLR, Address Space Layout Randomization)라고 부른다. 따라서, 디스어셈블리 도구나 디버거 도구를 사용할 때, 분석 중인 실행 파일의 메모리 주소가 실행할 때마다 달라지는 것을 고려해야 한다.
1. IDA에서 변경
IDA에서는 Edit -> Segments -> Rebase Program에서 수정하면 된다.
2. x32/64dbg 디버거에서 변경
x32/64dbg의 경우 설정 -> 환경설정 -> Disable ASLR 체크 하면 된다.
3. 분석할 파일 수정 - 가장 추천
CFF Explorer 도구 -> 파일 불러오기 -> Optional Header -> DllCharacteristics -> Click here -> "DLL can move" 체크 해제 -> 저장 필수
'분석 TIP > 동적분석' 카테고리의 다른 글
dnSpy의 Analyzer 기능 (0) | 2025.04.25 |
---|---|
쉘코드 디버거로 분석하기 (0) | 2025.04.14 |
IDA를 통해 리눅스 원격 elf 파일 디버깅 (0) | 2025.03.31 |
Sysmon 통한 리눅스 동적 분석 (0) | 2025.03.27 |
Sysmon 통한 윈도우 동적 분석 (0) | 2025.03.26 |