[CodeEngn] Basic RCE L01 - 보고서 본문
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로 바꾸어 진행했다.
문제의 취지를 알고 싶어 검색을 했지만 사람들도 그냥 분기문을 바꾸었다.
함수의 리턴 값에 대한 정보 수집 및 수정에 대해 테스트를 한 것이 아닐까 생각한다.
'wargame > CodeEngn' 카테고리의 다른 글
[CodeEngn] Basic RCE L06 - 보고서 (0) | 2022.03.24 |
---|---|
[CodeEngn] Basic RCE L05 - 보고서 (0) | 2022.03.24 |
[CodeEngn] Basic RCE L04 - 보고서 (0) | 2022.03.24 |
[CodeEngn] Basic RCE L03 - 보고서 (0) | 2022.03.24 |
[CodeEngn] Basic RCE L02 - 보고서 (0) | 2022.03.24 |
Comments