I have seen some for vb3 and 4, but not for 5 or 6. I dont think there are any (but im sure someone is working on it)
If anyone finds one let me know
Dragnut
The reason is simple: if the VB code is compiled to native machine language, the VB structure is lost.
For VB (version 6) the compiler is C2.exe which is a C compiler modified for Visual Basic. Once the process begins, the VB code is rendered into a C-styled language; this intermediate language is sent to C2 and further rendered as an obj library.
There is an obj library for each form, each bas and each cls. The next process is the 'fix up' in which the linker finds each referenced function and variable to produce the final machine-code .exe file.
At this point, only a debugger such as NuMega's, will provide insight into the source code however this insight will be as Assembler instructions or perhaps some low-level C translations.
The original VB structure exists only in the initial source code and any attempts to programme a reverse-engineering tool would be at best, guesswork for if my decompiler reached a point wherein an image was made invisible, how should the machine code be translated:
Select case imgMain.Visible
case True: imgMain.Visible = False 'do something
case else: 'do this
End Select
Or perhaps...
If imgMain.Visible then imgMain.Visible = False
I won't bore you with the lower technical details; this should be boring enough.
With VB.Net, though, decompilation might be possible since the 'intermediate language' is not too dissimilar (cough, cough) to the 'pseudo code' of VB 4 and lower which made decompilers possible at that time.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.