-榮-

[CodeEngn] Advance RCE L05 본문

CodeEngn/Advance

[CodeEngn] Advance RCE L05

xii.xxv 2021. 4. 2. 19:09

● CodeEngn Advance RCE L05 문제

 

CodeEngn Advance RCE L05

 

◎ 파일 실행 화면

 

[그림 1] 파일 실행 화면 및 실패 화면

 

◎ 패킹 및 난독화 여부 확인

[그림 2] exeinfo PE

 


 

● CodeEngn Advance RCE L05 풀이

 

[그림 3] 디버거 - OllyDbg / 디버기 - 05.exe (Advance RCE L05 실행파일)

 

[그림 1]의 실패 화면에서 MessageBox가 있는 것으로 보고 [Search for > All intermodular calls]에서 메시지 MessageBox 관련 함수를 찾아 BP를 걸었습니다.

[※참고]

같은 함수에 BP 거는 것 CodeEngn Basic RCE L03의 "+α 함수를 알고 있다면..."

[그림 4] rtcMsgBox BP

 

실행[F9]을 하고 멈추는 곳은 00402777입니다. 분기점이 안보이고, 주변 주소에는 LEA, PUSH, MOV, CALL만 있어서 화면을 내려(낮은 주소)보았습니다.

[그림 5] 실패 rtxMsgBox 부분

 

화면을 내리다 보면 BP를 설치한 rtxMsgBox 함수를 모두 지나 00402476 CALL vbaStrCmp 함수를 확인할 수 있습니다.

vbaStrCmp 함수는 문자열 비교 함수이므로 00402476에서 입력받은 Serial과 Serial을 비교하여 같은지를 판단하는 것이라 생각되어 00402476까지 실행[F9]했습니다.

[그림 6] vbaStrCmp 함수

 

실행 결과 vbaStrCmp 함수에서 입력받은 Serial과 Serial을 비교하는 것을 확인할 수 있습니다.

[그림 7] vbaStrCmp 함수의 파라미터 확인

 


 

● CodeEngn Advance RCE L05 확인

 

[그림 8] !!!Bien!!!

 

'CodeEngn > Advance' 카테고리의 다른 글

[CodeEngn] Advance RCE L07  (0) 2021.04.04
[CodeEngn] Advance RCE L06  (0) 2021.04.02
[CodeEngn] Advance RCE L04 Serial 생성 분석  (0) 2021.04.02
[CodeEngn] Advance RCE L04  (0) 2021.04.02
[CodeEngn] Advance RCE L03 Serial 생성 분석  (0) 2021.03.31