Sandsprite Papers

Artificial Intelligence

VB6 P-Code / Reversing

Reverse Engineering / Binary Analysis

Visual Basic 6
|
-
VB6 Record Descriptors: UDT Layout, Destruction and ANSI Translation Tables - Sandsprite 2026
This paper documents the internal binary structures Visual Basic 6 uses to describe user-defined types (UDTs), including field layouts, arrays, nested records, memory cleanup, and ANSI conversion. It also establishes that UDT descriptors share the same underlying format as the runtime's module, object, and procedure teardown tables (RESDESCTBL).
The format was reconstructed through automated compilation and analysis of 114 targeted VB6 test programs, independently reproducing their descriptors byte-for-byte and cross-checking the findings against MSVBVM60.DLL. The paper also examines the separate serialization structures used by VB6's Put/Get file operations.
The results provide a practical reference for VB6 reverse engineering, P-code disassembly, and decompiler development.
|