Visual Basic 파일 특징

밍기적·2023년 1월 5일

리버스엔지니어링

목록 보기
4/6

1. VB 전용 엔진

VB 파일은 MSVBVM60.dll (Microsoft Visual Basic Virtual Machine 6.0)이라는 VB 전용 엔진을 사용합니다

메시지 박스를 출력하고 싶을 때 VB 소스코드에서 MsgBox() 함수를 사용합니다

  • VB 컴파일러는 실제로 MSVBVM60.dll!rtc MsgBox() 함수가 호출되도록 만들고, 이 함수 내부에서 Win32 API인 user32.dll!MessageBoxW() 함수를 호출해주는 방식으로 동작합니다

2. N(Native) code, P(Pseudo) code

VB 파일은 컴파일 옵션에 따라서 N code와 P code로 컴파일이 가능합니다

N code는 일반적인 디버거에서 해석 가능한 IA-32 Instruction을 사용합니다

P code는 인터프리터 언어 개념으로서 VB 엔진으로 가상 머신을 구현하여 자체적으로 해석 가능한 명령어를 사용하는 것

  • P code를 정확히 해석하려면 VB 엔진을 분석하여 에뮬레이터를 구현해야 함

3. Event Handler

VB는 주로 GUI 프로그래밍을 할 때 사용되며, IDE 인터페이스 자체도 GUI 프로그래밍에 최적화되어 있습니다

VB 프로그램은 Windows 운영체제의 Event Driven 방식으로 동작하기 때문에 main() 혹은 WinMain()에 사용자 코드가 존재하는 것이 아니라, 각 event handler에 사용자 코드가 존재합니다


4. undocumented 구조체

VB에서 사용되는 각종 정보들(Dialog, Control, Form, Module, Function 등)은 내부적으로 구조체 형식으로 파일에 저장됩니다

구조체는 추측만 가능합니다

0개의 댓글