 |
 |
 |
 |
 |
VB RezQ

An Overview of Source Recovery with VB RezQ

|
 |

Picture the scene. You've unfortunately lost the original source files
and backups for one of your Visual Basic masterpieces and now you face
the daunting task of re-writing it from scratch. This is where
VB RezQ comes to your rescue.
VB RezQ can save you time and effort by recovering some of the source
data that is embodied in your executable VB file.
VB RezQ can recover source from all types of 32-bit Visual Basic
executables i.e .exe, .ocx and .dll files created by VB4(32), VB5 and
VB6.
It will identify all the source files, recover the project file, the
graphical design of each form including the graphics themselves, the
references to custom controls and the declarations for API calls.
It will also identify all events and subroutines and embedded resources.
In this way, VB RezQ provides an accurate framework on which
you can rebuild your application.
Note: VB RezQ produces
empty subroutines - it does not recover the Basic code within events, functions
and subroutines.
See our example which shows some of
VB RezQ's abilities.
A more detailed description of what VB RezQ can recover is
available
here.
Summary of VB RezQ Features for each Compilation Type
 |
 |
 |
 |
 |
 |
| Feature |
VB6 Pcode |
VB6 Native |
VB5 Pcode |
VB5 Native |
VB4/32 Pcode |
| Recovery from .EXE files |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery from .DLL files |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery from .OCX files |
Yes |
Yes |
Yes |
Yes |
n/a |
| Identify all source files |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovered output saved as a set of files ready to load into the VB IDE |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of Project file (.vbp) |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of GUI design of Forms (.frm and .frx) |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of GUI design of UserControls (.ctl and .ctx) |
Yes |
Yes |
Yes |
Yes |
n/a |
| Recovery of GUI design of PropertyPages (.pag and .pax) |
Yes |
Yes |
Yes |
Yes |
n/a |
| Recovery of GUI design of UserDocuments (.dob and .dox) |
Yes |
Yes |
Yes |
Yes |
n/a |
| Recovery of GUI design of Designers (.dsr and .dsx) |
Part |
Part |
Part |
Part |
n/a |
| Recovery of all properties of all VB standard (built-in) controls |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of all properties of 27 common custom controls. See note (1) below. |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of basic (extender) properties of all custom controls |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of custom properties of UserControls when embedded in a Form |
Yes |
Yes |
Yes |
Yes |
n/a |
| Recovery of embedded (Windows) resources |
Yes |
Yes |
Yes |
Yes |
Yes |
| Identify all external .DLL references (Declares) |
Yes |
Yes |
Yes |
Yes |
Yes |
| Identify all Events, Functions and Subroutines |
Yes |
Yes |
Yes |
Yes |
Yes |
| Identify the Sub Main routine |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of Event, Function and Subroutine names. See note (2) below. |
Yes |
Yes |
Yes |
Yes |
Yes |
| Recovery of Event, Function and Subroutine source code |
No |
No |
No |
No |
No |
| Disassembly of Event, Function and Subroutine compiled x86 code |
n/a |
Yes |
n/a |
Yes |
n/a |
Notes:
(1) Fully supported custom controls are :-
Common Dialog (COMDLG32.OCX),
ImageCombo, ImageList, ListView, ProgressBar, Slider, StatusBar,
TabStrip, Toolbar and TreeView (MSCOMCTL.OCX),
AniPushButton (ANIBTN32.OCX),
AutoFill (AUTOFILL.DLL),
DBGrid (DBGRID32.OCX),
DBList and DBCombo (DBLIST32.OCX),
Inet (MSINET.OCX),
MaskEdBox (MSMASK32.OCX)
MSChart (MSCHART.OCX & MSCHART20.OCX versions),
MSComm (MSCOMM32.OCX),
MSFlexGrid (MSFLXGRD.OCX),
PictureClip (PICCLP32.OCX),
RichText (RICHTX32.OCX),
SpinButton (SPIN32.OCX),
SysInfo (SYSINFO.OCX),
TabbedDialog (TABCTL32.OCX),
Winsock (MSWINSCK.OCX).
(2) Dummy names are created for those Event, Function and Subroutine names
that are not present in the compiled file. Full Event names with arguments are
recovered for all VB standard (built-in) controls, for all fully supported
custom controls listed above and for most other custom controls shipped with
VB which are shown in the following list :-
ADO Data (MSADODC.OCX),
Animation, UpDown (COMCT232.OCX),
Animation, DTPicker, FlatScrollBar, MonthView, UpDown (MSCOMCT2.OCX),
CoolBar (COMCT332.OCX),
DataCombo, DataList (MSDATLST.OCX),
DataGrid (MSDATGRD.OCX),
DataRepeater (MSDATREP.OCX),
Gauge (GAUGE32.OCX),
Graph (GRAPH32.OCX),
Grid (GRID32.OCX),
Hierarchical FlexGrid (MSHFLXGD.OCX),
KeyState (KEYSTA32.OCX),
ListView, ProgressBar, Slider, StatusBar, TabStrip, Toolbar,
TreeView (COMCTL32.OCX),
Multimedia MCI (MCI32.OCX),
Outline (MSOUTL32.OCX),
Remote Data Connector (MSRDC20.OCX),
SSCheck, SSCommand, SSFrame, SSOption, SSPanel, SSRibbon (THREED32.OCX),
WebBrowser (SHDOCVW.DLL).
Using VB RezQ
VB RezQ is very easy to use with a simple straightforward
interface.
Start up VB RezQ, and select the level of native code disassembly
required from the Options menu.

Then select File Open from the menu and use
the File Open dialog to select the file to be examined.

VB RezQ then proceeds to recover data from the selected
file. VB RezQ is an MDI application and will create a child
window corresponding to each source file and also for a progress
log. When recovery is finished the child windows will be stacked with
the progress log topmost, as shown here.

Each child window can be maximised, minimised and scrolled and the
windows can also be easily accessed and re-arranged by using the
Window menu options.

Use the File Save menu option to save the contents of the
curently selected child window to a file, or the File SaveAll
option to save all child windows to files in a single operation. Saving
a form (.frm, .dob, etc.) file will also create the corresponding binary
file (.frx, .dox etc.) containing the graphics for icons and pictures.

Select the File Close menu option to make VB RezQ ready
to recover from another file, and the File Exit option to quit.
See this example which shows more of the
output produced by VB RezQ.
|
|
|
|