일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 해커스쿨 FTZ
- 루핑
- Root Bridge
- 브리지 우선순위
- 네트워크 장비
- Non Root Bridge
- ip주소
- BPDU
- 코드엔진
- 코드엔진 풀이
- 스패닝 트리 알고리즘
- code engine
- code enigne
- 브리지 ID
- 치트엔진 풀이
- 루트 브리지
- 루트 포트
- 서브넷
- 시스템해킹
- 데지그네이티드 포트
- 서브넷팅
- 코드엔진 basic 5
- Path Cost
- 네트워크
- 서브넷 마스크
- 링크 대역폭
- 세그먼트
- FTZ level3
- TCP/IP
- 콜리젼 도메인
- Today
- Total
IT 블로그 !!
Code Enigne Basic 3 본문
비주얼베이직에서 스트링 비교함수 이름은? (구글하면 나오는데...)
하지만 한번 풀어보겠습니다!!
파일을 실행시켜보겠습니다.
파일을 실행하지 못한다고 나옵니다. 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 |