exe文件 上传 服务器,exe文件

2023-05-16

EXE File英文全名executable file ,译作可执行文件,可移植可执行 (PE) 文件格式的文件,它可以加载到内存中,并由操作系统加载程序执行,是可在操作系统存储空间中浮动定位的可执行程序。如记事本程序notepad.exe ,可以用来编辑文档,如:测试.txt双击打开notepad.exe记事本程序来进行编辑处理。

中文名

exe文件

外文名

executable file

执行条件状    态

MS-DOS和MS-WINDOWS下

别    名

可执行文件

平    台

MS-DOS和MS-WINDOWS

exe文件定义

编辑

语音

EXE File 可执行程序 一种可在操作系统存储空间中浮动定位的可执行程序。MS-DOS和MS-WINDOWS下,此类文件扩展名为.exe。

WINDOWS操作系统中的二进制可执行文件,可执行文件分两种一种是后辍名为·COM另一种就是.EXE 了。

.COM一般用于DOS,在WINDOWS系统中的执行文件一般都是·EXE文件在 MS-DOS 中,用以标识可执行文件的文件扩展名。用户在提示行中输入不带 .exe扩展名的文件名后按 Enter 键就能运行可执行程序。

exe文件结构

编辑

语音

EXE文件分为两个部分: EXE文件头和程序本体。exe文件比较复杂,属于一种多段的结构,是DOS最成功和复杂的设计之一。每个exe文件包含一个文件头和一个可重定位程序的映像。文件头包含MS-DOS用于加载程序的信息,例如程序的大小和寄存器的初始值。文件头还指向一个重定位表,该表包含指向程序映像中可重定位段地址的指针链表。MS-DOS通过把该映像直接从文件复制到内存加载exe程序,然后调整定位表中说明的可重定位段地址。定位表是一个重定位指针数组,每个指向程序映像中的可重定位段地址[1]

EXE 文件比较复杂,每个EXE文件都有一个文件头,结构如下:

EXE文件头信息

―――――――――――――――――――

├ 偏移量 ┤ 意义 ┤├00h-01h ┤MZ'EXE文件标记 ┤

├2h-03h ┤文件长度除512的余数 ┤

├04h-05h ┤...............商 ┤

├06h-07h ┤重定位项的个数 ┤

├08h-09h ┤文件头除16的商 ┤

├0ah-0bh ┤程序运行所需最小段数 ┤

├0ch-0dh ┤..............大.... ┤

├oeh-0fh ┤堆栈段的段值 (SS) ┤

├10h-11h ┤........sp ┤

├12h-13h ┤文件校验和 ┤

├14h-15h ┤IP ┤

├16h-17h ┤CS ┤

├18h-19h ┤............ ┤

├1ah-1bh ┤............ ┤

├1ch ┤............ ┤

―――――――――――――――――――――――――

.EXE文件包含一个文件头和一个可重定位程序映象。文件头包含MS-DOS用于加载程序的信息,例如程序的大小和寄存器的初始值。文件头还指向一个重定位表,该表包含指向程序映象中可重定位段地址的指针链表。文件头的形式与EXEHEADER结构对应:

EXEHEADER STRUC

exSignature dw 4D5AH ;.EXE标志

exExraBytes dw ? ;最后(部分)页中的字节数

exPages dw ? ;文件中的全部和部分页数

exRelocItems dw ? ;重定位表中的指针数

exHeaderSize dw ? ;以字节为单位的文件头大小

exMinAlloc dw ? ;最小分配大小

exMaxAlloc dw ? ;最大分配大小

exInitSS dw ? ;初始SS值

exInitSP dw ? ;初始SP值

exChechSum dw ? ;补码校验值

exInitIP dw ? ;初始IP值

exInitCS dw ? ;初始CS值

exRelocTable dw ? ;重定位表的字节偏移量

exOverlay dw ? ;覆盖号

exe文件详细说明

编辑

语音

EXEHEADER ENDS程序映象,包含处理器代码和程序的初始数据,紧接在文件头之后。它的大小以字节为单位,等于.EXE文件的大小减去文件头的大小,也等于exHeaderSize的域的值乘以16。MS-DOS通过把该映象直接从文件拷贝到内存加载.EXE程序然后调整定位表中说明的可重定位段地址。

定位表是一个重定位指针数组,每个指向程序映象中的可重定位段地址。文件头中的exRelocItems域说明了数组中指针的个数,exRelocTable域说明了分配表的起始文件偏移量。每个重定位指针由两个16位值组成:偏移量和段值。 为加载.EXE程序,MS-DOS首先读文件头以确定.EXE标志并计算程序映象的大小。然后它试图申请内存。首先,它计算程序映象文件的大小加上PSP的大小再加上EXEHEADER结构中的exMinAlloc域说明的内存大小这三者之和,如果总和超过最大可用内存块的大小。则MS-DOS停止加载程序并返回一个出错值。否则面,它计算程序映象的大小加上PSP的大小再加上EXEHEADER结构中exMaxAlloc域说明的内存大小之和,如果第二个总和小于最大可用内存块的大小,则MS-DOS 分配计算得到的内存量。否则,它分配最大可用内存块。分配完内存后,MS-DOS确定段地址,也称为起始段地址,MS-DOS从此处加载程序映象。如果exMinAlloc域和exMaxAlloc域中的值都为零,则MS-DOS把映象尽可能地加载到内存最高端。否则,它把映象加载到紧挨着PSP域之上。接下来,MS-DOS读取重定位表中的项目调整所有由可重定位指针说明的段地址。对于重定位表中的每个指针,MS-DOS寻找程序映象中相应的可重定位段地址,并把起始段地址加到它之上。一旦调整完毕,段地址便指向了内存中被加载程序的代码和数据段。 MS-DOS在所分配内存的最低部分建造256字节的PSP,把AL和AH设置为加载 .COM程序时所设置的值。MS-DOS使用文件头中的值设置SP与SS,调整SS初始值,把起始地址加到它之上。MS-DOS还把ES和DS设置为PSP的段地址.最后,MS-DOS从程序文件头读取CS和IP的初始值,把起始段地址加到CS之 上,把控制转移到位于调整后地址处的程序[2]

exe文件读取源代码

编辑

语音

生成的程序是不能看到源代码的,不过可以看到那个程序的资源,用E-Code Explorer 反汇编调试由易语言编译生成的易格式可执行文件,分析内部结构,查看其中的各项数据。

【功能简介】

1.格式分析:分析易格式可执行文件的总体结构,查看对应项的数据。分别对PE骨骼(PE头)和易格式原体分析,以树形结构清晰的显示,同时辅以详细的分析表格。

2.反汇编分析:快速的静态反汇编易格式可执行文件。提供方便的跳转、调用目标地址的代码预览功能。

3.窗体分析:对易格式可执行文件中包含的窗体数据分析。以树型结构清晰的显示窗体单元的从属结构。详细的控件属性显示、准确的事件处理函数定位、与反汇编模式便捷的切换,让使用者可以立即进入要调试的事件函数领空,避免在runtime的空间里四处打转浪费时间。这一点对于调试非线性事件驱动类型的程序是必须的。

4.符号修饰:可以调用易语言支持库作为符号表,对反汇编后的代码进行修饰,可以直接分析出函数所调用的方法,操作的属性,使用到的常量、基本数据类型、自定义数据类型和窗口单元。极大地提高了代码的可读性。

5.内部数据分析:能够分析出程序使用到的常量、API函数、服务,调用的支持库。

6.多种加载方式:支持从文件加载和从某一进程的内存中直接加载反汇编。直接从进程列表附加,可以避免一部分AntiDebug造成的调试困难。

7.支持多种格式:支持标准PE可执行文件,易格式原体文件,其他类型的易格式文件。均可正确分析。

8.易格式捕捉者:对于不明外壳的易格式可执行文件(如:加壳后的,通过其它手段封装的),能够方便快速的进行分析。

9.提供十六进制文件查看功能。

10.提供多种辅助工具,完成从内存dump易格式原体、修复重定位信息、易格式原体生成EXE文件等功能。

11.分析结果和反汇编结果均可直接导出生成报告文件。

12.支持自定义反汇编,HEX查看的环境颜色,你可以选择自己喜欢的颜色来阅读代码。

13.详细的分析设置,可以自己设置最合适的调试环境。

14.提供文件拖放功能,直接进行分析或调试。

15.支持从命令行获取要分析的文件[3]

exe文件注意

编辑

语音

使用邮箱或qq传送文件时,如果文件类型是exe文件。一般服务器都不允许传送,甚至会当做病毒而报错。对此,可将.exe文件压缩或修改扩展名后(如改为.ex3)再进行传送。

参考资料

1.

无法打开EXE文件

.微软[引用日期2017-04-16]

2.

.EXE文件的口令保护及其实现

.中国知网[引用日期2017-04-16]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

exe文件 上传 服务器,exe文件 的相关文章

  • 运行使用 folium 的可执行文件时,Branca Python 模块无法找到 2 个必要的 json 文件

    有可能这仍然是一个问题 Pyinstaller 和 或 Folium 人员没有兴趣修复它 但我会在这里再次发布它 以防有人发现解决方法 我有一个程序可以创建地图 地理编码等 最近添加了 folium 包来创建一些 html 格式的交互式地图
  • 是否可以被动安装 .EXE 但仍使用 Powershell 显示 GUI?

    正如标题所说 是否可以使用 Powershell 被动 静默安装 EXE 但仍然显示安装程序 GUI 我希望下一个自动 单击 但仍然希望 GUI 显示为进度指示器 UPDATE 有一个用于 Windows Installer 的 Power
  • 如何在 Docker 上运行 .exe 文件?

    我目前正在尝试了解和学习Docker 我有一个应用程序 exe 文件 我想通过创建 Docker 在 Linux 或 OSX 上运行它 我在网上搜索过 但找不到任何可以做到这一点的东西 而且我对 Docker 还不够了解 无法尝试即兴创作一
  • 带资源字典的wpf类库

    WPF 类库程序集 dll 中是否可以有资源字典 我问这个问题是因为我有一个 应用程序 WPF 程序集 exe 如果我尝试将程序集的类型转换为 WPF 类库 我会收到错误 无法在库的项目文件中指定元素ApplicationDefinitio
  • JSmooth 关于捆绑 JRE 的问题

    我正在尝试将 JRE 与我的 jar 文件捆绑在一起 以便我可以在任何 Windows 计算机上运行我的应用程序 无论它是否有 Java jsmooth 手册说 For the option to work correctly you ha
  • 如何在未安装 python 的系统上执行嵌入了 python 代码的 C++ 代码

    我正在尝试使用 C 和 Python 嵌入创建一个简单的游戏 python 代码嵌入在我的 C 代码中 我为此使用了 Python C API 我想实现两个目标 1 应用程序应该能够在没有安装Python的计算机上运行 2 应用程序应该是一
  • 在 Delphi 中使用 SSL 但仍然只有一个 exe

    我们使用 Indy 并且需要在我们的应用程序中支持 SSL 电子邮件 但是我们需要将我们的应用程序放在单个 Exe 中 我们知道默认的 Indy 处理程序要求路径中包含 dll 从 EXE 资源之一中提取 Dll 将是最后的手段 还有更好的
  • JavaFX 单实例应用程序

    尝试做到这一点 当用户 关闭 程序时单击所有退出按钮 这样就不再有托盘图标 我调用 Platform setImplicitExit false 所以程序仍然在后台运行 我正在尝试学习如何做到这一点 以便当用户重新单击运行 jar 的 ex
  • 如何在没有DLL的情况下编译SDL程序并运行它

    是否可以将SDL库程序编译为exec并在没有 sdl dll 的情况下运行它 例如 假设我编写了 sdl 程序 它可以工作 但问题是要在 Windows 上运行该程序 我需要在同一文件夹或系统文件夹中包含 sdl dll 是否可以编译它 以
  • MSI 安装程序的可执行文件

    我有一个文件夹 其中包含两个 EXE 文件和许多其他文件 如何将其转换为 MSI 安装程序或某种自解压安装程序以便安装Main exe到 Windows 中的程序 第二个EXE文件是因为两个EXE文件之间的通信 我更希望它能够包含 桌面快捷
  • 在 Windows 10 上的 Lyrix.exe(Delphi 7 旧应用程序)上加载数据库时出错

    有一个用 Delphi 7 编写的名为 Lyrix 的应用程序 似乎 我只有可执行文件夹 以及不再运行的安装程序 我无法让它在 Windows 10 上运行 但它似乎在 Windows XP 7 和 8 1 上运行良好 它说 Error c
  • 在 Visual Studio 中调试可执行文件

    想要在调试器下调试可执行文件 如何在视觉工作室中做到这一点 Windbg 有一个打开可执行文件的选项 但我发现 VS 2010 中缺少这一点 这个问题并不完全相同在 Visual Studio 2010 中调试 exe https stac
  • 尝试在命令行中静默执行自解压 zip 文件

    我有这些自解压 zip 文件 我正在尝试在 2008 7 机器上远程解压它们 但它们以 exe 的形式出现 需要用户双击并选择提取位置 在 WinZip 支持网站上 他们说要使用 auto 标志 因此命令将如下所示 C deploy exe
  • 当我的脚本导入模块 pikepdf 和 pdfminer3 时,如何修复 pyinstaller“无名为...”的错误?

    我使用 PikePDF 和 PDFminer3 构建了一个有效的 py 脚本 它将从我的桌面上获取 PDF 并根据可用的单词创建一个 txt 文件 这样做的目的是帮助我的工作团队修改通常无法复制粘贴修改 因此必须手写 的法律文件 由于我的大
  • 如何在 Python 中运行 .exe 文件

    我正在尝试在 python2 7 中运行 exe 文件 我已经尽了一切努力来搜索它 这是我尝试过的一些代码 subprocess Popen r C Programs Files Internet Explorer iexplore exe
  • 在 EXE 文件末尾写入字节安全吗?

    我听说如果我们在 EXE 文件末尾附加一些字节 它仍然可以正常工作 在所有情况下都是如此吗 这是一种安全的方法吗 我打算使用程序执行文件中的数据来编写演示 因此它可以是安全的 至少对普通用户而言 并且我不必将数据存储在其他地方 这是不可能用
  • MSI 和 EXE 安装程序有什么区别,我应该选择哪一个? [复制]

    这个问题在这里已经有答案了 可能的重复 msi 和 setup exe 文件之间有什么具体区别 https stackoverflow com questions 1789530 what are the specific differen
  • 应用程序运行时替换exe文件[重复]

    这个问题在这里已经有答案了 我有一个简单的问题 是否可以在 exe 文件 应用程序文件 运行时替换它 我的意思是我知道当应用程序运行时我不能这样做 但也许可以做类似的事情 执行 application shutdown 替换旧的Exe gt
  • 如何使用ilMerge将dll合并到exe文件中? [复制]

    这个问题在这里已经有答案了 可能的重复 将 dll 与 exe 合并 https stackoverflow com questions 14551311 merging dll with exe 好的 所以 我将 ilmerge 的所有文
  • 将.exe文件嵌入到C++程序中?

    我编写了一个 C 程序 我想在其中执行第二个程序 这是一个 exe 文件 问题是我想将我的程序作为一个文件共享给其他人 当我在互联网上搜索时 我找到了这个解决方案 只需将第二个 exe 文件作为二进制资源存储在主文件中 exe 在编译时使用

随机推荐