Without a Break

[CodeEngn] Basic RCE L14 본문

Reversing/Wargame

[CodeEngn] Basic RCE L14

와븨 2023. 5. 11. 22:47

 

 

peid로 실행 파일을 확인해보니 UPX로 패킹되어 있다.

 

실행 파일을 언패킹해준다.

 

디버거로 실행 파일을 열어 F8로 실행해주니 위와 같이 입력할 수 있는 창이 떴다.

 

CodeEngn을 입력해주고, 임의로 serial값을 입력해봤다.

serial값이 틀렸다고 팝업창이 뜸

 

팝업창을 확인을 누르고 디버거의 코드를 살펴보니

입력한 CodeEngn과 serial 값으로 변경되어 있는 것을 확인할 수 있었다.

 

성공 메세지를 띄우는 MessageBoxA 전에 EAX와 ESI의 값을 비교해서 성공/실패 여부를 결정하는 구간을 발견했다.

 

그래서 Ctrl+F2로 디버거를 다시 실행해주고,

ESI 값을 넣는 부분 전과 비교를 끝낸 다음 부분에 BP를 걸어주고 F8로 실행해봤다.

POP ESI를 실행하니 EAX의 값이 2B67로 변했다.

2B67은 10진수로 11111로, 아까 임의로 입력한 serial 값이다.

EAX와 비교하는 ESI값이 올바른 serial 값임을 알 수 있음

 

 

비교하는 코드를 실행하니 ESI 값이 129A1로 변했다.

 

129A1은 10진수로 76193

 

입력해보니 올바른 serial 값이 맞았다.

 

성공!

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

[CodeEngn] Basic RCE L16  (0) 2023.05.17
[CodeEngn] Basic RCE L15  (0) 2023.05.17
[CodeEngn] Basic RCE L13  (0) 2023.05.11
[CodeEngn] Basic RCE L12  (0) 2023.05.09
[CodeEngn] Basic RCE L11  (0) 2023.05.09