"1.2메인 함수와 사용자 정의 함수 찾기 (VS 옵션 코드 이해)" 연재

 

 

1. VS 최적화 옵션 수정

변경 전
변경 후

 

 

 

 

2. 코드 확인

 

Entry point 코드 확인

Entry point 값이 기존과 달라졌다.

 

 

 

Main 함수 찾기

 

 

main함수와 사용자 정의 함수 구현된 부분이 보임. ^^

 

 

서브 루틴이 2개 표기됨.

.text:00401000

.text:00401000 ; =============== S U B R O U T I N E =======================================

.text:00401000

.text:00401000 ; Attributes: bp-based frame

.text:00401000

.text:00401000 sub_401000      proc near               ; CODE XREF: sub_401010+3p

.text:00401000                 push    ebp

.text:00401001                 mov     ebp, esp

.text:00401003                 mov     eax, 1234h

.text:00401008                 pop     ebp

.text:00401009                 retn

.text:00401009 sub_401000      endp

.text:00401009

.text:00401009 ; ---------------------------------------------------------------------------

.text:0040100A                 align 10h

.text:00401010

.text:00401010 ; =============== S U B R O U T I N E =======================================

.text:00401010

.text:00401010 ; Attributes: bp-based frame

.text:00401010

.text:00401010 sub_401010      proc near               ; CODE XREF: start-8Dp

.text:00401010                 push    ebp

.text:00401011                 mov     ebp, esp

.text:00401013                 call    sub_401000

.text:00401018                 xor     eax, eax

.text:0040101A                 pop     ebp

.text:0040101B                 retn

.text:0040101B sub_401010      endp

.text:0040101B

.text:0040101C ; ---------------------------------------------------------------------------

 

기존 코드 diff

 

3. VS 결론

결론 우리가 원하는 main 함수와 사용자 정의 함수 확인 성공

 

프로그램을 배포할 때 반드시 최적화 옵션 활성화 설정 필요.

아니면 코드가 그대로 노출된다.

 

 

"1.1메인 함수와 사용자 정의 함수 찾기 (VS 옵션 코드 이해)" 연재

 

 

1. VS 보안 옵션 수정

 

일단 보안 옵션을 변경해서 우리가 원하는 main 함수와 사용자 저의 함수를 조금 이남아 힌트를 얻어보자.

 

일단 보안 옵션은 버퍼 오버 플로우 공격을 차단하기 위해 사용된다. 정도만 이해하자.

 

기존 옵션을 유지한 상태에서 보안 옵션만 사용 안 함으로 설정

 

변경 전

 

변경 후

 

 

 

2. 코드 확인

 

Entry point 코드 확인

Entry point 값이 기존과 달라졌다.

 

 

 

Main 함수 찾기

 

 

일단 main 함수 진입전을 빠르게 찾아왔다.

 

 

main함수를 들어가보니 기존과 동일하다.

 

기존 코드 diff

 

 

3. VS 결론

결론 아직까지 main 함수와 사용자 정의 함수 구현부를 알 수 없다.

 

 

+ Recent posts