본문 바로가기

[Riversing]/[코드엔진] BASIC

[코드엔진] basic3

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

 

우선 프로그램을 Peid 로 확인해본다.

패킹이 되어있지는 않고, 문제에서 알 수 있다시피 visual basic 기반으로 짜여진 프로그램인듯 하다.

 

프로그램을 실행해보면

위 사진과 같이 뜨고 암호를 아무거나 입력해 로그인해보려 하면 에러가 뜬다.

독일어인듯하다.

 

이 프로그램은 사용자가 패스워드로 입력한 값을 스트링비교함수를 이용하여 비교 한 뒤

맞으면 통과, 틀리면 위 사진처럼 에러를 내보내는 프로그램인 듯 하다.

 

비주얼베이직에서 스트링 비교함수의 이름은 vbaStrCmp 이다.

 

위 사진과 같이 ollydbg를 이용해 이 프로그램에서 사용된 함수들의 목록을 확인해보니,

 

내가 찾던 vbaStrCmp 함수가 있다.

이동해보자.

 

위 사진처럼 vbaStrCmp 함수가 있고 하이라이트 표시한 문자 2G83G35Hs2 가 보인다.

이 문자열이 암호이고, 사용자가 입력한 패스워드를 vabStrCmp 함수를 이용해 진짜 암호와 비교해 jmp 분기문으로 에러를 내보낸다.

 

다시 프로그램을 실행해 2G83G35Hs2 를 입력해보자.

 

위 사진과 같이 danke 라며 패스워드가 맞다고 한다.

 

 

일단 3번 문제가 원한건 스트링 비교함수 이므로 vbaStrCmp 를 코드엔진에 입력해보면,

 

성공!

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

[코드엔진] basic6  (0) 2020.03.25
[코드엔진] basic5  (0) 2020.03.25
[코드엔진] basic4  (0) 2020.03.24
[코드엔진] basic2  (0) 2020.03.16
[코드엔진] Basic1  (0) 2020.03.13