본문 바로가기

모의해킹/리버싱

PE 분석 : 레나 챌린지 (Level 3) 1

728x90

실행 화면 (첫번째 Nags)
실행 화면
실행 화면 (두 번째 Nags)

Nags를 삭제해라,, 경고창을 없애라!!

 

PEview

PE 구조를 파악하기 위해서 PEview 툴을 사용한다.

 

Offset to New EXE Header가 가리키는 것은 새로운 해더의 위치(000000 C0)이다. 

 

Image Base(400000byte)의 1000byte 지점에 진입점이 있다는 뜻이다.

프로그램의 진입점은 401000점 이다.

 

JE에서 점프를 진행을 해야 하는데 CMP EAX, 0에서는 거짓이 나오기 때문에 점프를 하지 않기 때문에 밑에 있는 MessageBox가 실행이 된다. (Nags 제거를 위해 JE를 JMP로 수정을 한다.)

 

**우리는 공부가 목적이기 때문에 JMP가 아닌 EntryPoint를 수정을 해서 통과를 할 것이다

EntryPoint를 401024 번지로 수정을 할 것이다.

1. 

Memory 부분을 열어 PE header로 들어간다.

 

2. 

PE header를 보면 EntryPoint의 위치가 004000 E8에 위치하는 걸 확인할 수 있다. 

 

3. 

CPU 이동

덤프 창을 보면 EntryPoint 값이 리틀엔디안 방식으로 저장이 되어 있다.

 

4. 

EntryPoiner을 1000 -> 1024로 수정한다.

파일을 저장한다.!

 

그 다음다음 메시지에 대한 부분을 없애기 위해서는 해당 부분은 점프가 없기 때문에 NOP으로 채울 것이다.

 

그다음 파일을 저장을 해준다. (따로 저장을 해줘야 한다) 

 

Ngas 없이 실행이 된다.