如何在OpenVMS中读取可执行文件(.EXE)文件

时间:2017-09-08 10:23:26

标签: openvms dcl

当我尝试打开任何.EXE文件时,我会以编码形式获取信息。知道如何查看.EXE文件的内容????

4 个答案:

答案 0 :(得分:0)

使用analyze/image查看可执行图像文件的内容。

答案 1 :(得分:0)

  
    

我需要知道特定.EXE中使用了哪些数据库表。

  
啊,现在我们越来越接近真正的问题了。

向目标数据库询问有关在运行期间执行的SQL查询,或者不久之后的前十名,可能会更有效率。

表名可能不会在可执行文件中以可识别的方式进行硬编码。 它们可能通过查找获得,并且可能存在一些有趣的预修复或其他转换。 不可否认,他们喜欢明确的文字。

最简单的可能就是转移到Unix服务器并在图像上使用STRINGS。

我想在这里包含源但失败了,我找不到如何附加文件。您可以在下面找到一个链接OpenVMS宏程序源,用于STRINGS之类的工具。不确定链接能存活多久。

只需阅读说明,save(strings.mar),编译($ MACRO字符串),链接($ link strings)和激活($ mcr sys $ login:strings image_to_test.exe)

OpenVMS Macro String program text

祝你好运! 海因

答案 2 :(得分:0)

我猜你正试图查看EXE,因为你无法访问源代码。我做这样的事情:

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

然后用任何文本编辑器(132列)查看a.a.链接器将字符串文字组合在一起,它们大多位于EXE的开头附近,因此您不必深入查看文件。当然,这只有在数据库引用是字符串文字时才有用。

字符串文字可能会在块(512字节)边界内被破坏,因此如果您在编辑器中使用搜索,请尝试查找子字符串。

答案 3 :(得分:0)

Aksh - 你正在追逐你的尾巴。这是一个虚假的黎明。即使你可以(并且你不能)找到数据库表,你也需要.exe的源代码来做任何合理的事情,或者你想要解决的问题。它可以编写一个程序,它只列出数据库中的所有表而无需读取任何表。所以你可以花费很多精力并且无处可去。希望这有帮助