레나튜토리얼-3 (nag 제거)
- 프로그램 실행시 발생하는 2개의 경고 창을 제거하는 문제
- JMP 명령을 통해 경고 창을 제거할 수 있으나 레나에서는 ImageBase와 EntryPoint 조작하는 방법을 이용
간단하게 알아둘 PE 파일 구성요소
* ImageBase : 로드할 가상 메모리 주소
* AddressOfEntryPoint : 파일이 메모리에서 시작되는 지점
프로그램 실행 화면
1, 3번 경고창을 제거해야함
Ollydbg 실행화면
- 00401000 : 프로그램 시작점 (EntryPoint)
- 0040101F : 1번 경고창을 띄우는 메시지박스
- 00401047 : 3번 경고창을 띄우는 메시지박스
* 경고창 제거 방법
- 1번 경고창 : EntryPoint를 00401024로 변경하여 1번 경고창이 실행되지 않게 함.
- 3번 경고창 : 할당된 영역을 NOP으로 채워 실행할 수 없게 함.
* 1번 경고창 제거
- 메모리맵 - 00400000 PE header - AddressOfEntryPoint 에 메모리 주소 확인 (004000E8)
- 메모리 덤프에서 AddressOfEntryPoint 주소 검색 후 값을 24 10 00 00 으로 변경 (little endian 방식으로 거꾸로 표현)
* 2번 경고창 제거
- 3번 경고창 영역 선택 후 할당된 값을 NOP으로 변경 (Binary - Fill with NOPs)
* 패치 파일 생성
수정한 부분 우클릭 - Copy to executable - All modifications - Copy all
* 패치 후
- 패치가 완료되면 2번 경고창만 발생
'IT Security' 카테고리의 다른 글
리버싱) Malware_Analysis 실습 1-1 (Lab01) 정적분석 (0) | 2022.03.23 |
---|---|
리버싱) 레나튜토리얼-3 (Oops binary 수정) (0) | 2022.03.20 |
리버싱) 레나튜토리얼-2 (reverseMe Keyfile) (0) | 2022.03.15 |
정보보안) OWASP TOP10 2021 요약 (TOP 6~10) (0) | 2022.03.01 |
정보보안) OWASP TOP10 2021 요약 (TOP 1~5) (0) | 2022.02.27 |