문제

Name이 CodeEngn일 때 Serial을 구하는 문제이다.

 

실행결과

잘못된 Serial 값을 입력하면 위 그림과 같은 창이 뜬다.

 

PEiD 로 패킹여부 확인

PEiD로 패킹여부를 먼저 확인했다. 확인한 결과, UPX로 패킹되어 있는 것을 알 수 있었다.

따라서 UPX 툴을 사용해 먼저 언패킹 시켜주었다.

 

UPX 툴로 14.exe 언패킹

 

[우클릭] - [Search for] - [All referenced text strings]
위의 그림 결과

그 결과, 프로그램에 사용된 문자열들이 보였다.

성공 문자열이 있는 곳으로 가 코드를 확인해 보겠다.

 

분기문 확인

CMP로 EAX와 ESI 값을 비교한 후 JNZ 분기문을 통해서 성공/실패 문자열이 가는 곳이 나뉘어 진다. 

따라서 CMP 문이 있는 곳에 BP를 걸고 실행을 했다.

 

 

CodeEngn, 1234를 입력하고 BP를 건 곳까지 실행했을 때,

EAX에는 우리가 입력한 1234가 HEX 값으로 저장되어 있다는 것을 확인할 수 있었다.

 

 

따라서 ESI에 있는 값도 확인한 결과, 10진수로 76193이라는 값이라는 것을 알았다.

 

성공~

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

Suninatas_11번 문제 풀이  (0) 2021.05.19
Reversing.kr _Easy Unpack 풀이  (0) 2021.05.18
[HackCTF] Reversing Me 풀이  (0) 2021.05.11
CodeEngn Challenge : Basic RCE L11  (0) 2021.05.06
CodeEngn Challenge : Basic RCE L10  (0) 2021.05.06

+ Recent posts