반응형
실행하면 메시지 박스가 나오고, 확인을 누르면 CD-ROM드라이브가 아니라고 거부 당하는 메시지가 뜨네요
x64dbg로 열어서 저 메시지들이 있는 구문을 살펴보겠습니다.
eax와 ecx를 비교하여 같다면 무조건 통과되는 것이니 cmp eax, esi 부분을 cmp eax, esi 로 바꿔주어 통과로 점프
그럼 통과 메시지가 출력된다.
그렇다면 정작 이 문제의 플래그인 CD-ROM으로 인식되게 하려면 eax가 얼마가 되어야 할까.
inc esi가 총 3 번있고 dec eax가 총 2번 있으니 esi의 값은 +3이 되어있고 eax의 값은 처음이었던 3에서 -2가 되어있다
eax값과 esi의 값이 연산 후 같게 되려면 GetDriveTypeA함수를 실행한 후 eax의 값이 5이어야 한다.
맞나 확인해보려 마이크로소프트 공식 문서를 뒤져봅니다.
정답이네요. 플래그는 {5}
반응형
'Reversing 문제 풀이 > CodeEngn.com_Basic (Clear)' 카테고리의 다른 글
codeengn-basic-L06 풀이 OEP알아내기 (0) | 2022.03.13 |
---|---|
codeengn-basic-L05 풀이 UPX패킹 풀기 (0) | 2022.03.11 |
codeengn-basic-L04 풀이 (0) | 2022.03.11 |
codeengn-basic-L03 풀이 (0) | 2022.03.11 |
codeengn-basic-L02 풀이 (0) | 2022.03.11 |
최근댓글