How to read a Executable(.EXE) file in OpenVMS

1.4k views Asked by At

When am trying to open any .EXE file am getting information in encoded form. Any idea how to see the content of an .EXE file ????

4

There are 4 answers

6
HABO On

Use analyze/image to view the contents of an executable image file.

3
Hein On

I need to know what Database tables are used in the particular .EXE.

Ah, now we are getting closer to the real question.

It is probably much more productive to ask the targeted databases about the SQL queries being execute during the run, or a top-ten shortly afterwards.

The table-names might not be hard-coded recognizably as such in the executable. They might be obtained by a lookup, and some fun pre-fixing or other transformation might be in place. Admittedly they like are clear text.

Easiest is probably to just transfer to a Unix server and use STRINGS on the image.

I want to include the source here with but that failed, and I cannot find how to attach a file. Below you'll find a link OpenVMS macro program source for a STRINGS like tool. Not sure how long the link will survive.

Just read for instructions, save (strings.mar), compile ($ MACRO strings), link ($link strings), and activate ($ mcr sys$login:strings image_to_test.exe)

OpenVMS Macro String program text

Good luck! Hein

0
Mark Diaz On

I'm guessing you are trying to look in the EXE because you do not have access to the source. I do something like this:

$ dump/record/byte/hex/out=a.a myexe.exe

Then look at a.a with any text editor (132 columns). The linker groups string literals together, and they are mostly near the beginning of the EXE, so you don't have to look to far into the file. Of course this only helps if the database references are string literals.

The string literal might be broken across a block (512 byte) boundary, so if you use search in your editor, try looking for substrings.

0
Richard Hammond On

Aksh - you are chasing your tail on this one. Its a false dawn. Even if you could (and you can't) find the database tables, you will need the source of the .exe to do anything sensible with it, or the problem you are trying to solve. Its possible to write a program which just lists all the tables in a database without reading any of 'em. So you could spend and awful lot of effort and get nowhere. Hope this helps