Reversing/CodeEngn

[CodeEngn] RCE basic L15 풀이

chan2s 2025. 9. 3. 15:02

Q15. Name이 CodeEngn일 때 Serial을 구하시오

[그림 1] 15.exe 최초 실행

15.exe를 실행한 후 Name : CodeEngn, Serial : 12345를 입력해 체크했더니 Try Again! 문구가 출력되었다.

[그림 2] 성공/실패 TEXT 확인

458843 주소에서 성공문구를 보았고 바로 다음 주소인 458854에서는 인증 실패했을 때 보았던 문구를 확인해볼 수 있었다.

[그림 3] 성공/실패 분기점

458831에서 EAX와 45B844의 값을 비교하고 JNZ 조건 분기를 시도한다.
EAX와 비교값을 확인하기 위해 458831에 BP를 걸고 디버깅해서 동적분석을 진행했다.
입력 값은 처음 테스트 했던 Name : CodeEngn, Serial : 12345로 동일하게 입력해서 진행했다.

[그림 4] 45B844 값 확인

45B844에는 6160이라는 값이 저장되어 있었으며 EAX값은 3039로 비교하게 되었다.

[그림 5] 6160 hex to dec

EAX에 저장된 3039값은 테스트로 입력했던 12345의 16진수 값이다.
따라서 45B844의 6160이라는 값을 10진수로 변환하면 24928이 Serial 값이 된다.

[그림 6] Serial값 검증 성공

 

'Reversing > CodeEngn' 카테고리의 다른 글

[CodeEngn] RCE basic L17 풀이  (0) 2025.09.04
[CodeEngn] RCE basic L16 풀이  (0) 2025.09.03
[CodeEngn] RCE basic L14 풀이  (0) 2025.09.03
[CodeEngn] RCE basic L13 풀이  (0) 2025.09.01
[CodeEngn] RCE basic L12 풀이  (1) 2025.09.01