촉촉한초코칩

CodeEngn Basic RCE L01 본문

Study/Reversing

CodeEngn Basic RCE L01

햄친구베이컨 2022. 9. 18. 23:20

 

먼저 PEiD를 사용해서 해당 파일의 패킹 여부를 확인한다. (EP Section)

그리고 Ollydbg를 사용해서 코드를 분석한다.

HD를 CD-Rom로 인식시키도록 해야 한다.

해당 코드에서는 EAX와 ESI를 비교해서 만약 값이 같다면 그대로 진행하고 같지 않다면 JE의 주소로 점프시킨다.

같지 않을 때 메세지 박스

 

1) EAX와 ESI의 값이 같아야 하므로 ESI를 EAX로 수정해준다.

2) JE가 아닌 JNE 레지스터를 사용해서 두개의 값이 같지 않더라도 0040103D 주소로 점프할 수 있도록 한다.

 

그리고 문제에서 GetDriveTypeA의 리턴값에 대해 물었다. CD-Rom으로 인식시키도록 했고 아래 링크에서 찾아보면 DRIVE_CDROM의 리턴값은 5라는 것을 알 수 있다.

https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getdrivetypea

'Study > Reversing' 카테고리의 다른 글

CodeEngn Basic RCE L06  (0) 2022.09.29
CodeEngn Basic RCE L05  (0) 2022.09.22
CodeEngn Basic RCE L04  (0) 2022.09.20
CodeEngn Basic RCE L03  (0) 2022.09.20
CodeEngn Basic RCE L02  (0) 2022.09.18