Guest link: Click
Guest link: Click
for PS2 Homebrew
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.
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?
3) What graphic image type does RACEVB6(©) support?
Actual graphic images from various FORMSs and CONTROLs.
The properties of those FORMs and CONTROLs.
The PROJECT properties.
A list of VB6 modules and their count.
The name of the StartUp module.
Whether the StartUp module is a FORM module or a BASIC module.
A list of EXTERNALly used modules.
Compile code type (Native or Pseudo).
Data offset (file location) of the properties (under "OPTIONS" menu).
Active events for each control.
Token data (P-Code only) of the events and procedures (under "OPTIONS" menu).
Much, much more.
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?
If the RSL/DAT file set for the OCX exists, RACEVB6(©) will extract the properties and/or images from the OCX.
If the RSL/DAT file set does not exist, RACEVB6(©) will display just the name of the OCX, then continue.
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?
MSCommLib.MSComm.rsl (library pack #1)
MSComDlg.CommonDialog.rsl (library pack #1)
ActiveXPluginCtl.ActiveXPlugin.rsl (library pack #1)
AgentObjectsCtl.Agent.rsl (library pack #1)
MSACal.Calendar.rsl (library pack #2)
MSAdodcLib.Adodc.rsl (library pack #2)
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.
The following are known limitations in RACEVB6(©) Version 4.4:
Only about 85% of the PseudoCode opcodes are decoded. Also, see FAQ #9.
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.
RACEVB6 Version 4.4
for webpage comments or suggestions
for RACEVB6(©) comments or suggestions