IT Security

리버싱) 레나튜토리얼-3 (nag 제거)

로픽 2022. 3. 17. 14:42
300x250

레나튜토리얼-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번 경고창만 발생

 

 

 

 

 

반응형