촉촉한초코칩
CodeEngn Basic RCE L01 본문
먼저 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 |