반응형
2023-01-27에 쓸 예정
https://www.youtube.com/watch?v=H_ZPHg5SjDU
상세설명
https://dhhd-goldmilk777.tistory.com/232
위에 게시글을 읽고 오는걸 무조건 추천합니다(꼭 보고오세요.)
어셈을 해석하니 esi의 초깃값은 401000이고 GetDriveTypeA 이후 eax는 3이다.
esi = 401000, eax = 3일때 inc는 값을 1 증가시키고, dec는 값을 1 감소시킬때 cmp eax,esi에 도달했을때 두 레지스터의 값은 어떻게 변했을까?
정답 esi = 401003, eax = 1
풀이
inc esi 곱하기 3은 401000+3 = 401003
dec eax 곱하기 2는 3-2 = 1
두값이 같게 될려면 리턴값은 5(드라이버가 CD-ROM일 경우 리턴값)가 되어야한다.
그러면 왜 그래야하는 파일 속성을 보면
1999년에 제작된걸 확인할 수 있다.
그래서 vmware로 win xp sp 3로 실행해보았다.
그 결과 디버깅에서는 정상적으로 안되지만
attach기능으로 실행후 부착하여 보면
놀라게도 esi의 값이 0이다.
그러므로 윈도우 xp3에서는 잘된다.
추가로 윈도우 xp 영문버전에서는 디버깅에서도 esi의 초깃값이 0이되므로 잘된다.
관련 동영상
https://www.youtube.com/watch?v=CJnS88FWfRo
반응형
'코드엔진 Basic RCE L' 카테고리의 다른 글
코드엔진 Basic RCE L03 풀이 (0) | 2023.01.31 |
---|---|
코드엔진 Basic RCE L02 번외풀이-2 (0) | 2023.01.26 |
코드엔진 Basic RCE L02 번외풀이-1[필수] (0) | 2023.01.26 |
코드엔진 Basic RCE L02 풀이 (0) | 2023.01.26 |
코드엔진 Basic RCE L01 풀이 (0) | 2023.01.26 |