文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?


这个问题非常有挑战性 。回答分两部分 。
(本文是BWanger软件开发达人的原创问答 。文本及图片不得抄袭)
如果用cmd或Emeditor工具 。做一个二进制文件 。仅把扩展名换成EXE 。那么 。可能性是存在的 。
如果这个TXT文件是从记事本 。写字板 。word 。vs等编辑文件制作的纯文本文件 。把TXT改成exe 。可运行的概率为0% 。还有朋友提出:用粘贴/复制的方法 。可行吗?答案是否定的 。同样是0% 。因为最后的文件都要保存 。
总结原因:大部分IDE或文本编辑器不支持二进制存储 。如记事本 。写字板 。所以 。用这些工具根本是无法做的 。
以我做的APP程序1.exe(下图)为例 。分别说明如下:

文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
1 。有两种方法 。可使二进制TXT一>exe可执行文件
方法1:在windows的”开始””运行”输入cmd回车 。进入命令行 。将1.exe copy成11.txt 。再copy为exe文件3.exe 。看下图的操作:
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
到windows的文件夹中看一下 。3.exe文件与1.exe文件一样可以运行 。
方法2:使用emeditor进行二进制编辑
进入emeditor 。选择1.exe 。打开方式选择”二进制十六进制视图打开” 。会显示exe文件的16进制显示 。以同样的选择保存为11.txt文件即可 。
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
2 。为什么用文本编辑器保存为txt不行?
先看一下1.exe文件的11.txt的记事本打开 。或者用VC 。VS打开 。再存储时 。只能存为txt 。rtf 。cpp等格式的文本文件 。它改成exe 。可运行的概率为0% 。记事本打开如下图 。右键复制 。显然不行 。。它改成exe 。可运行的概率为0%
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
下图显示的3.txt 。4.txt 。8.rtf分别为存储后的文本文件 。我们会看到文件大小已由1.exe的2096kKB变为2087KB或更小 。这显然是不对的 。小了大到10KB 。如下图:
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
那么 。用粘贴/复制可行吗?答案是否定的 。因为最后的文件都要保存 。但大部分IDE或文本编辑器不支持二进制存储 。
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
其他观点:
题主这个问题太正常了 。txt是万能 。你可以用txt编写任何程序 。只需要将扩展名修改成编程语言对应的后缀就可以在对应的编译器或者解释器中运行 。如果你要把它变成exe文件再打包下就行了 。
如果题主你要说不要打包 。直接改后缀从txt变成exe 。那就比较难写了 。需要高手 。我这有一个不需要高手就可以验证的方法 。下图我用一个例子说明这个问题
这里我就以navicat这个软件为例(选题没啥理由 。随手点开的)
1.我先把navicat.exe剪切放到其他地方
比如桌面 。注意时间是2019.3.20 21:50
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
2.再在此目录下新建一个navicat.txt文件
时间2019.5.17 10:47 。证明是新建的
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
3.用记事本打开navicat.exe 。将字符串复制到navicat.txt中
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
4.再将navicat.txt改成navicat.exe
时间是2019.5.17 10:47。证明是由txt改过来的 。
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
5.执行新的navicat.exe 。
完美执行 。
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
6.原版跟由txt改成exe版文件对比 。文件一模一样
文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?

文章插图
【文件都是以二进制存储,那么一个txt改成exe,是否有几率可以运行?】结论:完全没问题 。打开正常 。
你看我是把字符串直接写在txt文件里 。然后改扩展名为exe的 。虽然这个写的动作是复制粘贴 。但完全说明了题主提出的问题 。
其他观点:
文件都是以二进制存储 。那么一个txt改成exe 。是否有几率可以运行?
文件都是以二进制存储 。那么一个txt改成exe 。是否有几率可以运行 。这是一个很有趣的问题 。
先说第一个 。文件都是以二进制存储的 。没有错 。电脑上无论什么文件的本质都是一堆的0和1 。

推荐阅读