코드엔진 사이트에 들어가 basic18 문제를 다운로드 받고 압축을 푼다(비밀번호 : codeengn)
Serial 번호를 찾는 문제이다.
프로그램을 실행해보자.
위 그림과 같이 name 을 넣고 serial 번호를 임의로 넣었더니 역시 Bad 라며 에러가 뜬다.
Ollydbg로 정확한 분석을 해보자.
많이 해봤으니 익숙하게 프로그램에서 사용된 text를 찾아 분기점으로 이동한다.
코드들을 살펴보니(004011EF) lstrcmpiA 함수로 String 2 와 String1 을 비교한 뒤
(004011F6) JE 명령어로 분기한다.
적절한 곳에 bp를 걸어놓고 프로그램을 실행해 보았다.
위 그림과 같이 String2 와 String1 = 5 (내가 입력한값) 을 비교하는 것으로 보아
String2에 들어있는 값이 Serial 값일테고
그 값을 프로그램에 입력해보니 인증 성공 메시지가 떴다.
'[Riversing] > [코드엔진] BASIC' 카테고리의 다른 글
[코드엔진] basic20 (0) | 2020.04.07 |
---|---|
[코드엔진] basic19 (0) | 2020.04.06 |
[코드엔진] basic17 (0) | 2020.04.04 |
[코드엔진] basic16 (0) | 2020.04.04 |
[코드엔진] basic15 (0) | 2020.04.04 |