코드엔진 사이트에 들어가 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 |