티스토리 뷰

Challenges : Basic 07


Author : abex


Korean :
컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 "어떤것"으로 변경되는가

English :
Assuming the drive name of C is CodeEngn, what does CodeEngn transform into in the process of the serial construction 


1) 우리는 이제 06.exe 파일을 뜯어볼것이다

일단 가장 먼저 해볼것이 패킹이 되어있는지 여부를 알아볼것이다

PEid  툴을이용하여 패킹이 되어있는지 뜯어보자.

뜯어본 결과는 패킹이 되지않아있는 exe파일이다.


2) 이제 올리디버거로 이용하여 알아보도록하자

올리디버거로 뜯어보면 GetDrive부분이 있는데 여기부분은 C드라이브의 이름을 가져오기 위함이다. 이때 설정해볼것이. 실습환경의 C드라이브 이름을 CodeEngn으로 바꾸어보면서 진행해볼것이다.

F9로 계속실행하다가 적당한 위치, 메시지를 뿜는부분을 유심히 보아서 브레이크 포인트를 하나씩 걸어보면서 진행할 것이다.

생각보다 쉬운 구조를 가지고 있어서, EAX Value 만 잘 유추한다면 EAX값으로 잘들어오는것을 확인할 수 있다.

CALL의 위치에서 확인을 해보면 CMP값 비교전에 EAX값으로 잘 들어가는것을 확인할 수 있다.

여기서 가장 중요한것은 C드라이브 이름의 값들을 하나씩 증가시키면서 알파벳을 바꿔주었다는것을 확인하면된다. 두번반복하였을경우! 주의!

생각보다 간단한 문제였고, 가장 주의할점은 코드엔진 C드라이브 설정이 가장중요했다. 

코드엔진 정답제출시 C드라이브가 기준이다.





공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함