tmxklab

[CodeEngn] Basic RCE L14 본문

War Game/CodeEngn

[CodeEngn] Basic RCE L14

tmxk4221 2021. 1. 29. 15:50

1. 문제

1) 문제확인


2. 접근방법

문자열을 따라가보면 eax와 esi값을 비교하여 분기하는 것을 확인, 이제 디버깅을 통해서 저 부분을 확인해보자


3. 문제풀이

문제에서 Name이 "CodeEngn"일 때 Serial값을 구하는 거니 위 사진처럼 입력 값을 넣어 보았다.

입력 값이 저장되어 있는 0x403138을 파라미터로 주고 sub_40183()을 호출하면 리턴 값으로 0x4D2로 변환된 것을 알 수 있다. 그리고 eax값과 esi값을 비교하는데 이 때 esi값은 0x129A1이다.

이제 알아내야 하는 것은 Serial값을 0x129A1로 만들기 위해 입력 값을 어떻게 넣는가인데 생각해보면 "1234"를 넣는데 0x4D2(1234)로 나오는 것을 보면 sub_40183()의 역할은 문자열을 받아서 헥사 값으로 리턴해주는 기능인 것 같다. 따라서, 0x129A1을 만들기 위해서 76,193을 넣으면 될 것이다.


4. 몰랐던 개념

'War Game > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L16  (0) 2021.01.29
[CodeEngn] Basic RCE L15  (0) 2021.01.29
[CodeEngn] Basic RCE L13  (0) 2021.01.29
[CodeEngn] Basic RCE L12  (0) 2021.01.28
[CodeEngn] Basic RCE L11  (0) 2021.01.28
Comments