Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

Study

CodeEngn Basic 03 본문

Reversing/코드엔진

CodeEngn Basic 03

마늘부추 2019. 6. 13. 14:40

3. CodeEngn Basic 03

[그림 3.1]


3.1 문제 풀이

[그림 3.2]
[그림 3.3]
[그림 3.4]

뭐라는지 모르겠지만 확인 누르면 입력창이 나오는 걸로 봐선 키 입력해서 통과하는 프로그램인가 보다.
아무거나 입력했더니 에러가 뜬다.

 

[그림 3.5]

직접 F7과 F8로 디버깅을 해서 찾으면 필요 이상으로 몹시 고생하니까 제공되는 기능으로 빠르게 함수를 찾

아간다.
[Search for] -> [All intermodular calls]

 

[그림 3.6]

문자열 비교 함수로 추측되는 함수가 보인다. 함수의 이름이 답이라 파란색으로 가렸다.

 

(이후의 과정은 답과 상관없음)
더블클릭해서 위치를 찾아간다.

 

[그림 3.7]

두 개의 인자를 이용한 함수임을 알 수 있다.
두 번째 인자는 하드코딩된 문자열의 주소를 참조한다.
그럼 첫 번째 인자는 아마 사용자가 입력한 값일 텐데 확인해보자.

 

[그림 3.8]

해당 위치까지 디버깅한 후 뜨는 창에 아무 문자나 입력한다.

 

그 후 스택의 EBP-58 위치를 확인해보면

 

[그림 3.9]

내가 입력한 문자열이 잘 들어갔음을 알 수 있다.

 

[그림 3.10]
[그림 3.11]

방금 전 확인한 하드코딩된 문자열이 키값임을 확인했다.

'Reversing > 코드엔진' 카테고리의 다른 글

CodeEngn Basic 06  (0) 2019.06.15
CodeEngn Basic 05  (0) 2019.06.15
CodeEngn Basic 04  (0) 2019.06.15
CodeEngn Basic 02  (0) 2019.06.13
CodeEngn Basic 01  (0) 2019.06.13