본문 바로가기

[Riversing]/[코드엔진] ADVANCE

[코드엔진] advance03

코드엔진 사이트에 들어가 advance03 문제를 다운로드 받고 압축을 푼다(비밀번호 : codeengn)

 

name이 주어지고 serial 번호를 구하는 문제이다.

 

우선 PEiD ㄱㄱ

 

 

패킹은 되어있지 않고 MASM으로 만들어진 프로그램이다.

 

실행해보자.

 

 

이러한 프로그램이다.

 

Ollydbg로 분석 ㄱㄱ

 

 

Textstrings 를 확인해 프로그램에 쓰인 문자열을 찾아 이동한다.

 

 

위 사진처럼 IstrcmpA 함수로 내 입력값과 시리얼 넘버를 비교한 뒤 실패구문으로 분기한다.

00401196 주소에 bp를 걸고 실행시켜 55 라는 입력값을 넣어보자.

 

음 이상하게 내 호스트 컴 환경에서는 프로그램을 올리에 올리면 에러가 뜨며 함수들이 제대로 뜨지 않아서

Vmware에서 디버깅 중이었는데 Vm 환경에서는 프로그램의 Check 버튼이 안눌린다,,,

 

그래서 주소만 따와서 호스트pc 에 bp 를 걸고 확인해보았다.

 

 

위 사진과 같이 0040118C 주소에 내가 입려한 55값이 들어가있고 그 밑에 비교하는 시리얼 넘버가 들어있다.

 

이 값을 프로그램에 넣어보니,

 

 

깔끔하진? 않았지만 성공!

'[Riversing] > [코드엔진] ADVANCE' 카테고리의 다른 글

[코드엔진] advance04  (0) 2020.04.09
[코드엔진] advance02  (0) 2020.04.07
[코드엔진] advance01  (0) 2020.04.07