본문 바로가기

[Riversing]/[코드엔진] BASIC

[코드엔진] basic18

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