티스토리 뷰

Security

[리버싱] Code Engine - 1

감자형 2018. 3. 23. 16:28

1.  문제

Author : abex

Korean :
HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가

English :
What value must GetDriveTypeA return in order to make the computer recognize the HDD as a CD-Rom 


1) 올리디버거로  Ex_1  파일을 열어 구조를 분석 한다

구조 분석전에 올리디버거 기본 단축키 정리

Ctrl + F2  재시작,  F9 중단점까지 이동 ,  F8 한줄한줄 어셈블리어 분석

나는,  GetDriveTypeA  에 중단점  F2 를 걸어놓고 하나하나씩 분석을 시작하였음

2) GetDriveTypeA  의 값에서 CD롬 인식을 원한다

3)  GetDriveTypeA에서  Cd-Rom 이 정확한 메시지를 출력시키기 위해서

현재  EAX 값이 3으로 되어있고,  ESI 값이 1로 되어있는것을 알수 있다.




4) 시스템 내에서  CD-ROM 값을 정확히 인식하기 위해서는 GetDriveTypeA 값이  return value =5 가 되어야지 온전히 JMP값으로 점프를 할 수 있는것을 알수 있다.

5) 또다른 방법은   Message B ( 올바른 CD-ROM 메시지) 를 JE -> JMP 로 바꿔줄 경우 올바르게 값이 점프되는것을 알 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함