Q3. 비주얼베이직에서 스트링 비교함수 이름은?

MSVBVM50.DLL 파일이 없어서 실행이 안된다고 한다.
이를 해결하기 위해서 구글링을 진행하여 파일을 다운로드 받고 실행하여 해결했다.
MSVBVM50.DLL 에러 해결법 | MSVBVM50.DLL 오류 해결 : 프로그램을 시작할 수 없습니다. : 네이버 블로그
MSVBVM50.DLL 오류 해결 : 프로그램을 시작할 수 없습니다.
msvbvm50.dll은 윈도우 운영 시스템을 위해 마이크로소프트에서 개발한 MSDN Disc 2455와 관련된 DL...
blog.naver.com

검색해보니 독일어로 작성된 프로그램이다.
첫 줄 끝부분에 Passwort는 password와 비슷하여 비밀번호로 유추할 수 있었지만 다른 내용은 알지 못하여 확인을 눌러 넘어갔다.

실행 시 Regcode를 입력받는 칸이 하나만 존재하고 Registrieren이 등록, Exit는 나가기로 해석했다.
이 프로그램은 알맞는 패스워드를 입력하고 등록하면 성공하는 프로그램 같다.

Regcode에 아무 값이나 넣고 Registrieren을 누르면 위와 같이 에러메세지가 발생한다.
OllyDbg를 통해 분석해보기로 했다.


4028BD에서 Unicode로 2G83G35Hs2 라는 문구를 확인해 볼 수 있었다.
하단에 "Danke, das Passwort ist richtig !" 라는 문구를 번역기를 돌려서 비밀번호가 맞다는 문구를 확인했기에
2G83G35Hs2를 프로그램에서 등록해보기로 했다.

프로그램을 다시 실행하여 2G83G35Hs2를 입력한 결과 비밀번호는 맞다고 하는 것 같다.
하지만 문제는 비주얼베이직에서 스트링 비교함수 이름은? 이므로 비교 함수를 찾아보아야 한다…
Comment로 따로 함수를 한 눈에 찾아보기에 어려워 IDA를 통해 다시 03.exe를 열어보았다.

03.exe를 IDA 프로그램을 통해 실행해보면 화면 좌측에 여러가지 함수들을 확인해 볼 수 있다.
그 중 스트링 비교 함수라고 하면 String, Cmp와 같은 문자로 찾다보면 __vbaStrCmp 라는 함수를 찾을 수 있었다.
'Reversing > CodeEngn' 카테고리의 다른 글
| [CodeEngn] RCE basic L06 풀이 (3) | 2025.09.01 |
|---|---|
| [CodeEngn] RCE basic L05 풀이 (3) | 2025.08.31 |
| [CodeEngn] RCE basic L04 풀이 (0) | 2025.08.31 |
| [CodeEngn] RCE basic L02 풀이 (1) | 2025.08.29 |
| [CodeEngn] RCE basic L01 풀이 (1) | 2025.08.29 |