![]() |
|
#1
|
|||
|
|||
|
VB3 decompiling
There is some programms for one scientific instruments, written on VisualBasic 3.0. And now it is necessary for me, to recover the protocol of instrument control. But DoDi's Discompiler can't decompile this prog's.
It dies with diagnostics "Out of string space". The programm is quite big. Are somewhere others decompilers for this old Basic or full descriptions of opcodes? |
|
#2
|
|||
|
|||
|
AFAIK the only decompiler for VB3 is DoDi decompiler. Try get various version of this decompiler. Maybe in some version is fixed this problem. (I remember that i see maybe 3 versions around the world)
Other thing is (long time ago i do it :-) decompile with DoDi it self and correct sources in VB4 that exe pass through decompiler (little bit dificult way). Also DoDi is protected with some kind of AntiDecompiler but there exist tool to remove it. |
|
#3
|
|||
|
|||
|
I found the Deprotector for VB AntiDecompiler tricks, but my two version of DoDi's decompiler can't decompile itself with diagnostics "Error in Discompiler logic!"
and the resulting source is not compilable. I don't know, if there is exists newer version of this programm (my most newer version is 4 Jan. 1996). But in any case i can reconstruct the decompilation algorithm and VB opcode from given source. But, now i see, that this way is very long. Now i try go in alternative way. I will intercept the USB traffic to the hardware via USBmonitor. and i hope, that this information will be enough for reconstructing of hardware interface |
|
#4
|
|||
|
|||
|
DoDi's decompiler can decompile itself using the deprotector. The only problem is that the source code is not complete but I think a person with a good VB knowledge (not me I'm afraid) could rewrite the missing pieces and possibly recompile it using VB6. I don't have the decompiled version left anymore due to a hard drive crash but I found similar from Planet Source code.
|
|
#5
|
|||
|
|||
|
Thanks. But i don't have access for Attacment download yet. :-(
I Decompile Dodi's Discompiler, correct some decompiling error. And in current state the sources can be recompiled and recompiled version can do correct decompilation, but it lost all global integer constant in main.txt file. And i can't understand why this happens and how to repair this effect. I suspect, that dodi's decompiler losts some potions of code in case statement. I will try to recover this bug in future, but i am not a great specialist in VB. If anybody is interested in this version of sources, i can post it here |
|
#6
|
|||
|
|||
|
Aren't there programs that will strip a EXE to ASM... then you can analyze the ASM if you can read it... just do a lil' google search.
*ttp://www.vbcodesource.com/downloads/Vb6decompiler.zip [EDIT JMI: Rather than being "sorry for the double post", why don't you use the tools available and hit the "EDIT" Button and "Edit" your posts to add forgotten information, or something you discover a few minutes later? Otherwise it looks like spamming and you know where that leads. And the REQUEST you posted in this Forum has been DELETED, how about you pay attention to THAT Rule as well.] |
|
#7
|
|||
|
|||
|
sf42, your attachment is not a zip file
Regards amigo |
|
#8
|
|||
|
|||
|
Link from joejoejoe is old VbDe v0.84. Already v0.85 and also other better tools exist ;-)
|
|
#9
|
|||
|
|||
|
@joejoejoe
Reverse Engineering of VB6 programm is much easy, because the most of VB6 programm are compiled in to normal processor instructions, that can be disassembled. But VB3 or VB4 compiles programm in to internal Pcode, that can't be disassembled and we need some decompiler for such prog. This versions of VB are very old, and present decompilers works very strange. (even when decompiling itself) |
|
#10
|
|||
|
|||
|
Quote:
|
|
#11
|
|||
|
|||
|
Quote:
|
|
#12
|
|||
|
|||
|
A what try VBPARSER?Isn't though in English - but here never mind
hxxp://www.pediy.com/tools/Decompilers/VB_pcode/VBParser/VBParser1.2.zip |
|
#13
|
|||
|
|||
|
I am stupid! VBDIS does 3 or more passes when decompiling programm. Temporary data between passes writes to the files exe_name.module_nummer. after each pass this file was modified. But in first pass this file was not deleted and when we do decompilation in not empty directory (where these files already exists) then decompiler uses this file and not regenerate its. In this case it lost some constants and have several other problems.
I do really compileable sources. they can be compiled with VB3 and they can decompile VB programs with the same results that original dodis file. Additionally I remove the 'inheritance effect' when decompiling in not empty directory see an attached file PS. I have some problems with attaching the file via slow modem connection. now it will be OK (i hope) Last edited by wasq; 02-03-2005 at 16:56. Reason: Problem with file attaching |
|
#14
|
|||
|
|||
|
Thanks a lot! By the way, have you tried compiling the sources with VB6?
|
|
#15
|
|||
|
|||
|
@sf42
No. I don't have installed VB6 on my PC, and i am to lazy to instal it :-). but i don't see any principial problems in transfering sources to VB6 |
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Decompiling the mov compiler | chants | General Discussion | 3 | 12-08-2016 21:16 |
| decompiling back to C++? | Rhodium | General Discussion | 44 | 10-11-2004 08:30 |