바이너리 패치 후 파일 실행 오류
Reversing 2011. 8. 29. 14:48
실행 파일이 메모리에 로딩되어 프로세스로써 실행될 때 그대로 1:1로 로딩되는 것이 아니라,
규칙에 의해서 올라가게 되며 보통은 파일과 메모리가 1:1로 매칭 되지 않음
즉, 메모리에 대응되는 파일 오프셋이 존재하지 않으므로 수정된 코드를 파일로 만들면 오동작 하게 됨.
- PE Header를 분석하여 파일에 존재하지만 프로그램에서 사용되지 않는 공간을 버퍼영역으로 선정
- 파일 끝을 버퍼 영역 만큼 확장하고, PE header 를 수정하여 그 부분을 메모리에 로딩
'Reversing' 카테고리의 다른 글
IMAGE_SECTION_HEADER structure - Characteristics (0) | 2011.10.28 |
---|---|
VA, RVA, RAW (0) | 2011.09.22 |
UPack 상세 분석 (0) | 2010.09.02 |
pe 분석 (0) | 2010.09.01 |
리틀 인디안, 빅 인디안 (0) | 2010.08.30 |