본문 바로가기

[CodeEngn] Basic RCE L01 - 보고서 본문

wargame/CodeEngn

[CodeEngn] Basic RCE L01 - 보고서

Seongjun_You 2022. 3. 22. 21:31

GetDriveTypeA의 리턴 값을 확인을 한다.

 

 

 

CD-ROM을 인식 시키기 위한 return 값은 5라는 것을 알 수 있다.

 

x64dbg로 디버깅을 시작한다.

 

GetDriveTypeA에 bp를 걸고 tracing을 진행했다.

 

GetDriveTypeW에서 ret값이 나온다.

변경하지 않고 쭉 진행해보았다.

 

 

윗부분은 GetDriveTypeA의 리턴 값을 -2를 해주고 esi에 +3을 진행한다.

eax와 esi를 비교하여 출력 문구가 달라지는 것을 알 수 있다.

 

 

GetDriveTypeA의 ret값을 5로 변경한 후 진행하면

3과 401003을 비교한다.

GetDriveTypeA의 ret 값을 문제의 취지에 맞게 변경했다고 생각했지만

분기문은 통과하지 못했다.

갑자기 esi에 entry point의 값은 왜 넣었는지도 잘 모르겠다.

그래서 그냥 분기문을 jmp로 바꾸어 진행했다.

 

문제의 취지를 알고 싶어 검색을 했지만 사람들도 그냥 분기문을 바꾸었다.

함수의 리턴 값에 대한 정보 수집 및 수정에 대해 테스트를 한 것이 아닐까 생각한다.

Comments