可执行文件是什么样子的? [英] What does an executable look like?

查看:15
本文介绍了可执行文件是什么样子的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我在十六进制编辑器中打开可执行文件,我会看到十六进制表示法中的1和0吗?

理论上是否有可能为"Hello World"这样的简单程序手动编写可执行文件?

推荐答案

关于第一个问题:是的,您将看到一堆十六进制数字。但任何文件格式都是如此。如果您在十六进制编辑器中打开一个文本文件,您仍然会看到一堆十六进制数字。然而,如果您在文本编辑器(例如记事本)中打开文本文件,您将看到一个文本,而如果您在文本编辑器中打开一个可执行文件,您将看到一些无稽之谈,其中可能包含一些易读的文本片段。

是的,理论上可以在十六进制编辑器中手动创建可执行文件。对于一些可执行格式,它更容易,而对于一些-要难得多。非常老的COM format of MS-DOS是最简单的-它没有任何头部,可执行代码从文件的开头开始。最小的有效COM文件只有几个字节长(我忘了,甚至可能有一个)。现代可执行格式-PEELF-有一个相当大的标题来描述文件的其余部分,指定目标计算机/OS、代码在哪里、数据在哪里、从动态库导入什么函数等。在手动创建文件时,您必须按照规范填写所有这些标题字段。

一般来说,这不是一项卓有成效的工作-编译器/链接器组合将以更少的工作量为您创建可执行文件。

这篇关于可执行文件是什么样子的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆