The main window
After select the file, pushing the Start button and some waiting, you will see a architecture of decompiled file. There is a tree of forms, moduls and procedures on the left side of window. On the right side of window you can see the contents of the selected procedure or function.
We'd like to point out elements of toolbar. Above the tree of objects are placed two buttons with arrows to jump forward and back of history view of functions (you can see these buttons after open two or more functions), name of internal format of file and two modes of decompilation: Parse stack parametrs, Procedure analyzer and optimizer. Let's talk about them more detail.
Buttons with arrows < and > are using to jump along history view of functions. When you jump between functions of program, sometimes will be useful return to previous function and then turn back. Because of this VB Decompiler is saving the history of view functions and after open two or more functions will available buttons of navigation. These buttons are remembering jumpings thru Ctrl + G and thru menu item Jump to virtual address.
About internal format of file. It's a type of code in which the program was compiled. This type of code is directly defines a quality of decompilation and how to closely a result to sourse code. Today VB Decompiler is supporting follows types of formats: P-Code, Native Code, .NET Assembly. More detail about these types you can read in Description.
Let's talk about modes of decompilation. Every of these modes work "on fly" if Fast decompilation is activated. If Fast decompilation is not activated, after set all checkboxes, you have to start decompilation again. Every of described modes works differently for different files formats.
If you decompile a P-Code file, Parse stack parameters turns on convolution operations with stack. For example, this code:
will be transformed in:
Turning off this mode has meaning if prototype of function not defined and content of stack is swallowed and not displayed.
If you decompile a Native-Code file and Parse stack parameters is turn off then will be displayed a code on Assembler. If this mode turn on, the code will be parsed by emulator and will transform to more simple code to read.
Mode of analysis and optimisation code turns on a in-deep optimization of listing. Fragmented blocks of commands are unioned. Unused variables are cleaned. The code is becoming more closely to source code. This mode works similarly for P-Code and Native-Code
Today for .NET Assembly, VB Decompiler doesn't supports these modes.