Guest link: Click here for ACAR

Guest link: Click here for PS2 Homebrew

Welcome to RACEVB6.COM, the home of RACEVB6(©) (Reverse Action Control Extraction for VB6). RACEVB6(©) is a Visual Basic 6 P-Code analyzer. RACEVB6(©) can be used to investigate Visual Basic 6 programs compiled to P-Code. RACEVB6(©) will display not only such typical information as Project data and Form/Control GUI data, but will also make available Procedures names and offsets, their accompanying P-Code opcodes, extract any Pictures or Images contined within the program, and many other pieces of "buried" data. For more information, click on FAQ below.

Splash screens:


1) What does RACEVB6(©) do?

RACEVB6(©) is designed to analyze a VB6 program and extract the graphic information it contains. This includes not only the various graphic images, but, since FORMs and CONTROLs are graphic entities in VB6, their properties are extracted as well.

2) What information does RACEVB6(©) extract?

RACEVB6(©) extracts: 3) What graphic image type does RACEVB6(©) support?

RACEVB6(©) can extract the following image types: 4) Does RACEVB6(©) support external modules (OCX's)?

RACEVB6(©) handles OCX's in one of two ways:
5) What is an RSL/DAT file set? Where does it come from?

The RSL file (with its accompanying DAT file) is a separate library file set that RACEVB6(©) uses to allow it to examine external OCX files. Without the RSL/DAT file set, RACEVB6(©) will simply acknowledge the OCX. With the file set, RACEVB6(©) can access the properties of the OCX and display them. Each OCX must have a matching RSL/DAT file set. The file sets reside in the "LIBRARY" subdirectory of the main RACEVB6(©) directory.

6) What RSL/DAT file sets are currently available?
7) Where are the extracted files placed? How are they named?

All the extracted file are stored in the "EXTRACT" subdirectory of the main RACEVB6(©) directory. The file names of an extracted image consist of the following format:
A. The parent FORM's name, followed by an underline
B. The parent CONTROL's name
C. The parent CONTROLs property, in brackets
D. The index value, shown in parentheses ( -1 = no index value)
E. The image type extension

8)How do I install RACEVB6(©)?

RACEVB6(©) is not installed, in that it does not access or use any of the Windows Registry system properties. Simply copy the RACEVB6(©) files from the source disk (or un-zipped file) to the desired directory on your hard drive. To remove RACEVB6(©), delete the directory; no UnInstall action is needed. When RACEVB6(©) is first run, it will create its required sub-directories (EXTRACT and LIBRARY) automatically. Any RSL/DAT files should then be copied from their respective LibraryPacks to the LIBRARY subdirectory.

9)What deficiencies exist in RACEVB6(©)? Why do I get errors when I attempt to compile the recovered data?

There are a few limitations in RACEVB6(©) that prevent a smooth and successful compilation of the recovered data:

A. If an library file (OCX, DLL, etc) is encountered, and there is no corresponding RSL/DAT file set in the Library sub-directory, RACEVB6(©) does not know the library's code block type. (SUB, PROPERTY, etc). In this case, RACEVB6(©) identifies the code block as a PROC (procedure) type. When the IDE attempts to compile this, an error occurs. The user must do a manual inspection of the code, determine the proper procedure type, and edit the code as needed.

B. Some OCX files will have an non-numeric sequence as a GUID or license number. If the OCX filename is recognized, RACEVB6(©) will use an internal number and incorporate it into the VBP file. If the OCX file is unknown, RACEVB6(©) will insert a question mark into the VBP file. When the IDE attempts to compile this, an error occurs. The user must do a manual examination of the VBP file, determine the OCX name, and edit the GUID/license to the proper number.

C. Not all procedures that are FUNCTIONS actually return a FUNCTION value. Rather, they may store their result in either global memory or a structure. In this case, the FUNCTION is not flagged as such, and RACEVB6(©) will define it as a SUB.

(Return to top)


The following are known limitations in RACEVB6(©) Version 4.4:
(Return to top)


The RACEVB6(©) 4.4 libraries (Library Pack #1 and Library Pack #2) do not need to be updated if they have already been downloaded for a previous version of RACEVB6(©). There have been no changes.

Download RACEVB6 Version 4.4
Download LibraryPack1
Download LibraryPack2

(Return to top)

Email siteadmin for webpage comments or suggestions
Email progadmin for RACEVB6(©) comments or suggestions

(Return to top)