user-0 提问: dos系统下16为程序怎么提取

回复:
user: user-1
content: 我猜可能是DOS下ZIP或ARJ或更老的压缩解压命令行工具软件创建的自解压文件。 所以你可以试试用“DOS下ZIP或ARJ或更老的压缩解压命令行工具”解压。

user: user-2
content: 两种可能性： 1. 你的COBRA4I.exe中没有包括源代码 2. 没有给COBRA4I.exe输入正确的命令行参数

user: user-0
content: 引用 22 楼 zhao4zhong1 的回复:计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构…… 按您的方法已经已经使用了。不过您可能没理解我的问题。您说的方法我已经用32位虚拟机实现了位系统。文件运行后的到两个TXT文件，一个是输入的一个是输出的。现在是这两个文件在没有变量输入时输入卡是空白的，输出卡只有一些固定的文字，但是但我编辑好输入卡运行exe文件时能得到想要的数据结果。 但是这不是我想要的（首先这个程序应该没问题），我想得到的是想最前面第二张图那样包含Fortran源代码的一些文件。（经过一段时间分析，我觉得第一位回答者应该是对的，只能反汇编脱壳之类的方法了） 虽然问题没有解决还是谢谢您。

user: user-1
content: 不是;D:\mydir而是;C:\添加到PATH后面

user: user-1
content: 计算机组成原理→DOS命令→汇编语言→C语言（不包括C++）、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言（包括C++）、架构……

user: user-1
content: 楼主基础太差。

user: user-1
content: COBRA4I.EXE是DOS下的自解压程序。把它放在d:\mydir目录下 COBRA.EXE是DOS下的COBRA程序，把它以及它依赖的其它文件拷贝到d:\mydir\COBRA目录下 在DosBox下，在命令行直接输入以下命令： Z:\>MOUNT c d:\mydir Drive C is mounted as local directory d:\mydir  Z:>C:  C:\>MD TMP  C:\>CD TMP  C:\>set PATH=%PATH%;C:\COBRA  C:\TMP>..\COBRA4I 运行..\COBRA4I.exe将其解压到当前目录下  C:\TMP>exit   回到Windows，d:\mydir\tmp目录下内容即自解压文件d:\mydir\COBRA4I.exe解压后内容。  Windows系统的PATH和DosBox下的PATH不是一回事！

user: user-0
content: 引用 18 楼 zhao4zhong1 的回复:不是;D:\mydir而是;C:\添加到PATH后面怎么还是不行啊？还麻烦您看看

user: user-0
content: 引用 16 楼 zhao4zhong1 的回复:安装或拷贝完后，在PATH环境变量尾部添加corba.exe所在盘符和目录路径。 我按您的建议创建了d:\mydir 的文件夹并且把cobra程序放到该文件夹下面。 然后安装后复制cobra.exe 均可以实现 再将D:\mydir的路径也添加到了path里面。但是怎么还是显示cannnot find cobra.exe(please enter new program spec)？

user: user-1
content: 安装或拷贝完后，在PATH环境变量尾部添加corba.exe所在盘符和目录路径。

user: user-1
content: 当然，这个cobra.exe必须是16位DOS下可以运行的exe

user: user-1
content: 引用 13 楼 weixin_40404402 的回复:[quote=引用 12 楼 zhao4zhong1 的回复:] [quote=引用 10 楼 weixin_40404402 的回复:] [quote=引用 9 楼 zhao4zhong1 的回复:] [quote=引用 4 楼 zhao4zhong1 的回复:] 在DosBox里面运行。 正解！[/quote] 不是要运行程序，程序用虚拟机WinXP能运行，想要想图二里面那样把程序提取出来进行修改。是不是只有反汇编的方法了，常见的解压方法都试过了[/quote] COBRA4I.EXE是DOS下的自解压程序。 比如COBRA4I.EXE这个文件目前在d:\mydir目录下，搜索下载安装DosBox虚拟机，并运行之， 在DosBox下，在命令行直接输入以下命令解压即可： Z:\>MOUNT c d:\mydir Drive C is mounted as local directory d:\mydir  Z:>C:  C:\>MD TMP  C:\>CD TMP  C:\TMP>..\COBRA4I  C:\TMP>exit   回到Windows，d:\mydir\tmp目录下内容即自解压文件d:\mydir\COBRA4I.exe解压后内容。[/quote] 使用您的方法电脑提示cannnot find cobra.exe(please enter new program spec) 这是怎么回事啊？ 文件是能运行的，我运行后会产生一个空白的输入txt和一个基本输出格式的txt[/quote] 在该DoxBox中安装或拷贝cobra.exe,可能这个压缩包解压时依赖cobra.exe

user: user-0
content: 引用 12 楼 zhao4zhong1 的回复:[quote=引用 10 楼 weixin_40404402 的回复:] [quote=引用 9 楼 zhao4zhong1 的回复:] [quote=引用 4 楼 zhao4zhong1 的回复:] 在DosBox里面运行。 正解！[/quote] 不是要运行程序，程序用虚拟机WinXP能运行，想要想图二里面那样把程序提取出来进行修改。是不是只有反汇编的方法了，常见的解压方法都试过了[/quote] COBRA4I.EXE是DOS下的自解压程序。 比如COBRA4I.EXE这个文件目前在d:\mydir目录下，搜索下载安装DosBox虚拟机，并运行之， 在DosBox下，在命令行直接输入以下命令解压即可： Z:\>MOUNT c d:\mydir Drive C is mounted as local directory d:\mydir  Z:>C:  C:\>MD TMP  C:\>CD TMP  C:\TMP>..\COBRA4I  C:\TMP>exit   回到Windows，d:\mydir\tmp目录下内容即自解压文件d:\mydir\COBRA4I.exe解压后内容。[/quote] 使用您的方法电脑提示cannnot find cobra.exe(please enter new program spec) 这是怎么回事啊？ 文件是能运行的，我运行后会产生一个空白的输入txt和一个基本输出格式的txt

user: user-1
content: 引用 10 楼 weixin_40404402 的回复:[quote=引用 9 楼 zhao4zhong1 的回复:] [quote=引用 4 楼 zhao4zhong1 的回复:] 在DosBox里面运行。 正解！[/quote] 不是要运行程序，程序用虚拟机WinXP能运行，想要想图二里面那样把程序提取出来进行修改。是不是只有反汇编的方法了，常见的解压方法都试过了[/quote] COBRA4I.EXE是DOS下的自解压程序。 比如COBRA4I.EXE这个文件目前在d:\mydir目录下，搜索下载安装DosBox虚拟机，并运行之， 在DosBox下，在命令行直接输入以下命令解压即可： Z:\>MOUNT c d:\mydir Drive C is mounted as local directory d:\mydir  Z:>C:  C:\>MD TMP  C:\>CD TMP  C:\TMP>..\COBRA4I  C:\TMP>exit   回到Windows，d:\mydir\tmp目录下内容即自解压文件d:\mydir\COBRA4I.exe解压后内容。

user: user-2
content: 那你到底有没有图里显示的cobra4i.exe，有的话运行就解开了。

user: user-0
content: 引用 9 楼 zhao4zhong1 的回复:[quote=引用 4 楼 zhao4zhong1 的回复:] 在DosBox里面运行。 正解！[/quote] 不是要运行程序，程序用虚拟机WinXP能运行，想要想图二里面那样把程序提取出来进行修改。是不是只有反汇编的方法了，常见的解压方法都试过了

user: user-1
content: 引用 4 楼 zhao4zhong1 的回复:在DosBox里面运行。 正解！

user: user-2
content: 程序是70年代的，但是这个压缩包应该是90年代建立的，就是一个DOS自解压exe，你在32位windows或者dosbox里运行就解开了。

user: user-3
content: 不懂 帮顶

user: user-4
content: exe 又不是对源代码进行打包, 怎么提取... 只能进行反汇编成汇编代码, 用 IDA 的插件可以还原成 C 语言结构的代码, 但并不是编写程序时的源代码