Recover/open/run/whatever Visual Basic?
I've just downloaded what I believe to be a game coded in Visual Basic. I'd like to recover the source of it, or at least be able to read it, and I'd like to be able to translate the associated data tables to something useful (it's an adventure style game called Quest), but I don't know how. It arrived as a zip file and when unzipped I see a bunch of files. 'file' says most of them are 'MS Compress archive data' and the rest appear to be obviously not of much interest: $ file * ADATA1._: MS Compress archive data ADATA2._: MS Compress archive data OLDS4.FO_: MS Compress archive data OLDS4.TT_: MS Compress archive data QUEST.EX_: MS Compress archive data SETUP1.EX_: MS Compress archive data SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x SETUPKIT.DL_: MS Compress archive data SETUP.LST: ASCII text, with CRLF line terminators VBRUN300.DL_: MS Compress archive data VER.DL_: MS-DOS executable, NE for MS Windows 3.x (driver) My google-foo seems to be a bit weak today :( Can anybody suggest a program that can read those files and turn them into something more manageable?
On Fri, Jun 03, 2022 at 03:54:03PM +0100, Dave Howorth wrote:
I've just downloaded what I believe to be a game coded in Visual Basic. I'd like to recover the source of it, or at least be able to read it, and I'd like to be able to translate the associated data tables to something useful (it's an adventure style game called Quest), but I don't know how.
It arrived as a zip file and when unzipped I see a bunch of files. 'file' says most of them are 'MS Compress archive data' and the rest appear to be obviously not of much interest:
$ file * ADATA1._: MS Compress archive data ADATA2._: MS Compress archive data OLDS4.FO_: MS Compress archive data OLDS4.TT_: MS Compress archive data QUEST.EX_: MS Compress archive data SETUP1.EX_: MS Compress archive data SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x SETUPKIT.DL_: MS Compress archive data SETUP.LST: ASCII text, with CRLF line terminators VBRUN300.DL_: MS Compress archive data VER.DL_: MS-DOS executable, NE for MS Windows 3.x (driver)
My google-foo seems to be a bit weak today :( Can anybody suggest a program that can read those files and turn them into something more manageable?
This is a InstallShield based binary installer. wine SETUP.EXE will likely be able to install it. This is usually not a source archive. Ciao, Marcus
On Fri, 3 Jun 2022 16:56:38 +0200 Marcus Meissner <meissner@suse.de> wrote:
On Fri, Jun 03, 2022 at 03:54:03PM +0100, Dave Howorth wrote:
I've just downloaded what I believe to be a game coded in Visual Basic. I'd like to recover the source of it, or at least be able to read it, and I'd like to be able to translate the associated data tables to something useful (it's an adventure style game called Quest), but I don't know how.
It arrived as a zip file and when unzipped I see a bunch of files. 'file' says most of them are 'MS Compress archive data' and the rest appear to be obviously not of much interest:
$ file * ADATA1._: MS Compress archive data ADATA2._: MS Compress archive data OLDS4.FO_: MS Compress archive data OLDS4.TT_: MS Compress archive data QUEST.EX_: MS Compress archive data SETUP1.EX_: MS Compress archive data SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x SETUPKIT.DL_: MS Compress archive data SETUP.LST: ASCII text, with CRLF line terminators VBRUN300.DL_: MS Compress archive data VER.DL_: MS-DOS executable, NE for MS Windows 3.x (driver)
My google-foo seems to be a bit weak today :( Can anybody suggest a program that can read those files and turn them into something more manageable?
This is a InstallShield based binary installer.
wine SETUP.EXE
will likely be able to install it.
This is usually not a source archive.
Ciao, Marcus
Installing wine brings a lot of other cruft with it, so I'd rather not do that unless I have to. I don't especially want to run the VB program unless that's the only way to extract the source. Thanks, Dave
Dne pátek 3. června 2022 17:36:45 CEST, Dave Howorth napsal(a):
On Fri, 3 Jun 2022 16:56:38 +0200
Marcus Meissner <meissner@suse.de> wrote:
On Fri, Jun 03, 2022 at 03:54:03PM +0100, Dave Howorth wrote:
I've just downloaded what I believe to be a game coded in Visual Basic. I'd like to recover the source of it, or at least be able to read it, and I'd like to be able to translate the associated data tables to something useful (it's an adventure style game called Quest), but I don't know how.
It arrived as a zip file and when unzipped I see a bunch of files. 'file' says most of them are 'MS Compress archive data' and the rest appear to be obviously not of much interest:
$ file * ADATA1._: MS Compress archive data ADATA2._: MS Compress archive data OLDS4.FO_: MS Compress archive data OLDS4.TT_: MS Compress archive data QUEST.EX_: MS Compress archive data SETUP1.EX_: MS Compress archive data SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x SETUPKIT.DL_: MS Compress archive data SETUP.LST: ASCII text, with CRLF line terminators VBRUN300.DL_: MS Compress archive data VER.DL_: MS-DOS executable, NE for MS Windows 3.x (driver)
My google-foo seems to be a bit weak today :( Can anybody suggest a program that can read those files and turn them into something more manageable?
This is a InstallShield based binary installer.
wine SETUP.EXE
will likely be able to install it.
This is usually not a source archive.
Ciao, Marcus
Installing wine brings a lot of other cruft with it, so I'd rather not do that unless I have to. I don't especially want to run the VB program unless that's the only way to extract the source.
Hi, Short answer: You have to. Long answer: It is a binary file, which means you cannot read it's source code. You can decompile a binary file and reverse engineer what it does, but this is a very hard and lengthy process not everyone is able to do and it's not worth to do for a game (unless you don't want to make this a study project). Wine is split into multiple packages and dependencies, you don't need all of them (for example you do not need to install wine-gecko and/or wine-mono. It will take about 0,5GB (1GB with gecko and mono) on your hard drive. Pretty small windoze install don't you think? It's just windoze without useless stuff OTOH :) You can even change windoze version and remove access to your ~/ folder if you run "winecfg". Wine is a way to run windows binary files on other operating systems, separated from them. If you want to extract/install and then run the game, there is simply no other way. If the game won't work or does something evil, you can always delete your ~/.wine/ folder and it will remove everything what that game/program did. Unless it is a program expecially written for harming Linux users of wine. I have not personally encountered anythig like that, but that does not mean it does not exist. Either way, running it under Linux+Wine will be safer by an order of magnitude. If you still wanna to recompile it, i suggest you to learn assembler first and then try look here: [1] and here: [2] [1]: https://en.wikibooks.org/wiki/X86_Disassembly/ Disassemblers_and_Decompilers [2]: http://www.program-transformation.org/Transform/VisualBasicDecompilers Regards, Gryffus
Dne pátek 3. června 2022 20:14:16 CEST, Lukáš Krejza napsal(a):
Dne pátek 3. června 2022 17:36:45 CEST, Dave Howorth napsal(a):
Hi,
Short answer: You have to.
Long answer: It is a binary file, which means you cannot read it's source code. You can decompile a binary file and reverse engineer what it does, but this is a very hard and lengthy process not everyone is able to do and it's not worth to do for a game (unless you don't want to make this a study project). Wine is split into multiple packages and dependencies, you don't need all of them (for example you do not need to install wine-gecko and/or wine-mono. It will take about 0,5GB (1GB with gecko and mono) on your hard drive. Pretty small windoze install don't you think? It's just windoze without useless stuff OTOH :) You can even change windoze version and remove access to your ~/ folder if you run "winecfg".
Wine is a way to run windows binary files on other operating systems, separated from them. If you want to extract/install and then run the game, there is simply no other way. If the game won't work or does something evil, you can always delete your ~/.wine/ folder and it will remove everything what that game/program did. Unless it is a program expecially written for harming Linux users of wine. I have not personally encountered anythig like that, but that does not mean it does not exist. Either way, running it under Linux+Wine will be safer by an order of magnitude.
If you still wanna to recompile it, i suggest you to learn assembler first and then try look here: [1] and here: [2]
[1]: https://en.wikibooks.org/wiki/X86_Disassembly/ Disassemblers_and_Decompilers [2]: http://www.program-transformation.org/Transform/VisualBasicDecompilers
As Jan mentioned, you can use https://software.opensuse.org/package/mspack-tools and msexpand for extracting, but for running it, you still need wine. Regards, Gryffus
On 2022-06-03 20:14, Lukáš Krejza wrote:
Dne pátek 3. června 2022 17:36:45 CEST, Dave Howorth napsal(a):
On Fri, 3 Jun 2022 16:56:38 +0200
Marcus Meissner <meissner@suse.de> wrote:
On Fri, Jun 03, 2022 at 03:54:03PM +0100, Dave Howorth wrote:
Hi,
Short answer: You have to.
Long answer: It is a binary file, which means you cannot read it's source code. You can decompile a binary file and reverse engineer what it does, but this is a very hard and lengthy process not everyone is able to do and it's not worth to do for a game (unless you don't want to make this a study project). Although some old basic compilers were not full compilers, the source "tokens" might be in the file. Others, when you hit a run time error, printed at least the line number of the source.
-- Cheers / Saludos, Carlos E. R. (from Elesar, using openSUSE Leap 15.3)
On 2022-06-03 16:54, Dave Howorth wrote:
I've just downloaded what I believe to be a game coded in Visual Basic. I'd like to recover the source of it, or at least be able to read it, and I'd like to be able to translate the associated data tables to something useful (it's an adventure style game called Quest), but I don't know how.
It arrived as a zip file and when unzipped I see a bunch of files. 'file' says most of them are 'MS Compress archive data' and the rest appear to be obviously not of much interest:
$ file * ADATA1._: MS Compress archive data ADATA2._: MS Compress archive data
Well, you have to expand them first; I don't remember if there was a Linux expander for those, it's over a decade since last time I had to do that.
OLDS4.FO_: MS Compress archive data OLDS4.TT_: MS Compress archive data QUEST.EX_: MS Compress archive data
AFAIK the game is in compiled form, no source code provided. You would have to find a reverse compiler for that version of VB. You need to ask Windows people.
SETUP1.EX_: MS Compress archive data SETUP.EXE: MS-DOS executable, NE for MS Windows 3.x SETUPKIT.DL_: MS Compress archive data SETUP.LST: ASCII text, with CRLF line terminators VBRUN300.DL_: MS Compress archive data VER.DL_: MS-DOS executable, NE for MS Windows 3.x (driver)
My google-foo seems to be a bit weak today :( Can anybody suggest a program that can read those files and turn them into something more manageable?
-- Cheers / Saludos, Carlos E. R. (from Elesar, using openSUSE Leap 15.3)
Am Freitag, 3. Juni 2022, 17:57:39 CEST schrieb Carlos E. R.:
[...] Well, you have to expand them first; I don't remember if there was a Linux expander for those, it's over a decade since last time I had to do that. [...]
Exactly, all files ending with '_' are compressed by COMPRESS.EXE (here, SZDD format) and can be decompressed by EXPAND.EXE. When compressing, the last character of the file name will be replaced by '_'. Install mspack-tools and use msexpand. Looks like https://unbox.ifarchive.org/?url=/if-archive/games/pc/Quest.zip HTH Jan -- A statistician is a person who draws a mathematically precise line from an unwarranted assumption to a forgone conclusion.
On Fri, 03 Jun 2022 18:38:42 +0200 Jan Ritzerfeld <suse@mailinglists.jan.ritzerfeld.org> wrote:
Am Freitag, 3. Juni 2022, 17:57:39 CEST schrieb Carlos E. R.:
[...] Well, you have to expand them first; I don't remember if there was a Linux expander for those, it's over a decade since last time I had to do that. [...]
Exactly, all files ending with '_' are compressed by COMPRESS.EXE (here, SZDD format) and can be decompressed by EXPAND.EXE. When compressing, the last character of the file name will be replaced by '_'. Install mspack-tools and use msexpand.
Looks like https://unbox.ifarchive.org/?url=/if-archive/games/pc/Quest.zip
Hi, yes that's where it came from. I managed to expand things by installing dosbox and then putting EXPAND.EXE on my disk and running that. So I can see the strings in the data files, but don't understand their structure, nor of course the logic that connects them. I think I'll need to see if I can chase down a human connection to obtain the source code. Thanks all for your help. Cheers, Dave
Am Freitag, 3. Juni 2022, 21:10:15 CEST schrieb Dave Howorth:
[...] So I can see the strings in the data files, but don't understand their structure,
Yeah, I had a look at the data files, too.
nor of course the logic that connects them. I think I'll need to see if I can chase down a human connection to obtain the source code.
AFAIK Visual Basic 3 couldn't compile native code so you should be able get the most of original source code back just the exe. According to this https://stackoverflow.com/questions/3983709/vb3-decompiler try the "DoDi VB3 decompiler". However, it was a Visual Basic 3 program itself... HTH Jan -- Do not count your chickens before they are hatched.
participants (5)
-
Carlos E. R.
-
Dave Howorth
-
Jan Ritzerfeld
-
Lukáš Krejza
-
Marcus Meissner