codeengn)basic 1
Reversing/CodeEngn
2014. 10. 16. 22:11
코드 엔진의 basic 1문제는 hdd를 cd-rom으로 인식 시키기 위해서는 GetDriveTypeA의 리턴값이 몇이어야하는지 알아내는 것입니다.
올리디 버거로 열어 보겟습니다.
이렇게 나옴니다.
이프로그램은 어셈블리어로 짜여졋습니다.
여기서 중요히 보실것은 GetDriveTypeA함수 입니다.
GetDriveTypeA까지 실행을 해보겟습니다.
처음으로 메세지 박스가 하나 뜸니다.
그리고 함수를 실행 시키면 다음과 같이 레지스터가 변합니다.
eax 레지스터는 리턴값을 담는 레지스터 입니다.
따리서 GetDriveTypeA의 리턴값은 3입니다.
이 밑으로 eax와 esi를 증가 또는 감소 합니다.
총 eax는 2번 감소하고
esi는 3번 증가 합니다.
비교문까지 오게되면 eax는 1 esi는 3이 됨니다.
따라서 eax값이 2 값만큼 터 커야합니다.
리턴값은 5가 되어야 합니다.
값을 인증 해보겟습니다.
값이 인증 되었네요
'Reversing > CodeEngn' 카테고리의 다른 글
codeengn) basic 09 (0) | 2014.11.16 |
---|---|
codeengn) basic 06 (0) | 2014.11.16 |
codeengn) basic 8 (0) | 2014.10.20 |
codeengn) basic 4 (0) | 2014.10.17 |
codeengn)basic 2 (0) | 2014.10.17 |