IT 블로그 !!

Code Enigne Basic 3 본문

Reversing/Code Engine

Code Enigne Basic 3

IT_Try 2018. 10. 7. 21:31

비주얼베이직에서 스트링 비교함수 이름은? (구글하면 나오는데...)

하지만 한번 풀어보겠습니다!!

파일을 실행시켜보겠습니다.



파일을 실행하지 못한다고 나옵니다. msvbvm50.dll을 다운받아 설치한 후 다시 실행시키도록 합니다.



다음과 같이 뜹니다. 딱 보면 알겠지만 이 창에 뜬 언어는 영어가 아닙니다. 정확한 뜻은 모르겠습니다. 우선 확인을 눌러보겠습니다.



 

확인을 누르면 다음과 같이 나옵니다. 일단 아무 말이나 빈칸에 입력해보겠습니다.



아무글자나 넣어봤더니 Error가 뜹니다. 이제는 본격적으로 올리디버그를 통해 프로그램의 동작원리를 알아보겠습니다.



지금 보여준 부분은 매우 극히 일부분입니다. 이번 3번 문제1번문제와 달리 문제의 양이 매우 많습니다. 이렇게 많지만 이중에서 우리들은 비밀번호를 알아내야합니다.

이럴 땐 간단하게 문자열만 검색해주는 올리디버그의 기능을 사용해보도록 하겠습니다.


오른쪽 마우스 Search for All referenced strings를 눌러줍니다.

'All referenced strings의 뜻은 문자열을 참조하겠다.' 라는 뜻입니다. 누르면



이런 식으로 문자열이 정리되어서 나옵니다. 마우스 스크롤을 내려서 살펴보면 거의 다 ASCII코드로 되어있습니다근데 특이하게 군데군데



이런 식으UNICODE로 되어있는 부분들이 있습니다.

지금 이 부분은 경로를 나타내는 것 같습니다. 조금 더 찾아보도록 합시다



두 번째 UNICODE를 보도록 합시다. 여기서 보면 암호로 보이는 것이 2G83G35Hs2가 있습니다. 가장 패스워드로 추측되는 것이 이것입니다. 일단 이 문구를 더블클릭 해보자.



밑의 문자열이 출력 된다고 나옵니다. 한번 이 문자열을 아까 창에 입력해 봅시다.



Registrieren을 눌러줍니다.



danke라고 나오는데 이것은 독일어로 고맙다는 뜻입니다. 고맙다고 하는걸 보니 패스워드가 맞는 것 같습니다.

지금 우리의 목적은 패스워드를 찾는 것이 아니라 스트링 비교함수 이름을 알아야합니다. 아까 문자열만 뽑아놨던 창을 계속 내려가면



2번째 2G83G35Hs2가 나옵니다. 이것도 더블클릭해봅시다.

 

 

바로 밑에 보면 vbaStrcmp함수를 Call한다고 되어있습니다. 구글에 vbaStrcmp함수를 찾아봅시다.

vba 비쥬얼베이직을 뜻합니다.

str String의 약자

cmp 비교함수.

그렇다면 문제에서 요구하던 답은 vbaStrCmp함수입니다.

 

'Reversing > Code Engine' 카테고리의 다른 글

Code Engine Basic 6  (0) 2018.10.12
Code Enigne Basic 5  (0) 2018.10.12
Code Engine basic 4  (0) 2018.10.07
Code Engine basic 2  (0) 2018.10.04
Code Engine Basic 1  (0) 2018.10.04