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文件 的相关文章

  • 安装人员绑定

    我有一些安装程序 例如 JDK 阿帕奇雄猫 MySQL MySQL GUI 等 我想将所有这些安装程序捆绑在一起成一个 exe文件 以便单个 exe 将一一遍历所有安装程序 结果将 希望 使用户尽可能轻松地安装许多软件包 MySQL 安装程
  • 如何将文件添加到 exe

    我有一个播放声音的程序 但如果我在另一台计算机上运行它 它会说找不到该文件 如何将文件附加到 exe 上 以便当有人播放 exe 时它仍然能够播放 如果您想将波形文件嵌入到程序中 请转到项目属性 gt 资源 gt 选择音频作为类型 然后选择
  • Launch4J 可执行文件未按预期执行

    Tools Win 7 Launch4J 3 5 简单的 Hello world Java 控制台应用程序 捆绑在 JAR 文件中 大家好 我有一个基本的 JAVA 控制台应用程序 不请求任何输入 只是一个打开控制台窗口并显示 Hello
  • 如何在“打开方式”对话框中设置程序名称?

    我想要程序读取VLC Move on end 我已将程序集信息修改为以下内容 但无济于事 如何更改 打开方式 对话框中显示的名称 它作为FriendlyAppName 值存储在注册表中的HKCR Applications YourExeNa
  • 在命令提示符中 PHP 未被识别为内部或外部命令

    当我运行命令时出现以下错误php C xampp htdocs gt php php is not recognized as an internal or external command operable program or batc
  • 需要帮助来使用 pyinstaller 编译 python

    我想在运行 Windows 7 的计算机上分发我的 Python 代码 它由几个 py 文件组成 其中主文件位于cprofiles lmfit py 连同一个文件cprofiles ui描述 GUI 和文档的 pdf 我过得很艰难 见从使用
  • 我想让这个 prolog 文件成为独立的 EXE 文件

    我是 prolog 新手 我已经编写了这段代码 但我想让这个 prolog 文件成为一个独立的 EXE 文件 但我不知道如何去做 我正在使用 swi prolog 来查阅该文件 我需要使用 swi prolog 使该程序可执行的分步教程 我
  • CMake - 在 Linux 中编译,在 Windows 中执行

    我有一个具有 Linux 依赖项的大型代码库 我想使用 CMake 将我的代码编译成可以在 Windows 上运行的可执行文件 即我希望 CMake 生成一个 exe 文件或类似性质的文件 我尝试过使用CMake网站上提供的解决方案 htt
  • 哪些编程语言可以生成自包含的 Windows .exe?

    我想要制作一个易于部署的 Windows 应用程序 并且想知道哪些编程系统可以创建完全独立的 Windows exe 文件 另外 如果可以使用同一来源的 MacOSX 和 Linux 来完成同样的事情 这将是一个额外的好处 我查看了 Rea
  • 从另一个线程关闭表单

    我有这个运行的代码 exe string openEXE C Users marek Documents Visual Studio 2012 Projects tours tours bin Debug netpokl exe Proce
  • 如何下载并运行.exe文件c#

    在您将其标记为重复之前 是的 存在这样的问题 我已经查看了所有这些问题 但仍然无法解决这个问题 我正在尝试编写一个下载并运行 exe 文件的功能 但它不会下载 运行或执行任何操作 我什至删除了尝试捕获以查找错误或错误代码 但我没有 所以我不
  • 如何使用 Java/Eclipse 创建 Windows .exe(独立可执行文件)?

    我是编程领域的新手 使用 C 已经大约 5 个月了 我决定开始学习 Java 我使用 Eclipse 作为我的 IDE 显然使用 Java 作为语言 我正在尝试编写一个简单的 HelloWorld 应用程序 它可以通过命令提示符可执行文件运
  • JavaFX 单实例应用程序

    尝试做到这一点 当用户 关闭 程序时单击所有退出按钮 这样就不再有托盘图标 我调用 Platform setImplicitExit false 所以程序仍然在后台运行 我正在尝试学习如何做到这一点 以便当用户重新单击运行 jar 的 ex
  • Python 2.6:从 Windows 控制台应用程序读取数据。 (操作系统?)

    我有一个返回一些文本的 Windows 控制台应用程序 我想在 Python 脚本中读取该文本 我尝试使用 os system 来阅读它 但它无法正常工作 import os foo os system test exe 假设 test e
  • 在 EXE 文件末尾写入字节安全吗?

    我听说如果我们在 EXE 文件末尾附加一些字节 它仍然可以正常工作 在所有情况下都是如此吗 这是一种安全的方法吗 我打算使用程序执行文件中的数据来编写演示 因此它可以是安全的 至少对普通用户而言 并且我不必将数据存储在其他地方 这是不可能用
  • Java:在 eclipse 中导出到 .jar 文件

    我正在尝试将 Eclipse 中的程序导出到 jar 文件 在我的项目中 我添加了一些图片和 PDF s 当我导出到 jar 文件时 似乎只有main已编译并导出 我的意愿是如果可能的话将所有内容导出到 jar 文件 因为这样我想将其转换为
  • 如何在C#和Azure启动任务中自动更新EXE项目?

    我在我的天蓝色相关项目中面临着一个关键且有趣的问题 我创建了一个 Web 应用程序 用户可以从那里下载一个插件 C 中的 EXE 项目 并在解压后上传 EXE 和配置文件到部署在 Azure 平台上的应用程序的启动任务 并且该 exe 定期
  • Process.以另一个用户身份在网络共享上启动 exe 文件

    我需要运行位于我的域中的网络驱动器上的 exe 文件 该驱动器已作为 M 成功连接到我的电脑 但我知道 Process Start string string 在启动位于网络共享上的进程时需要具有文件的 URL 路径 这是我的代码 stri
  • 如何使用ilMerge将dll合并到exe文件中? [复制]

    这个问题在这里已经有答案了 可能的重复 将 dll 与 exe 合并 https stackoverflow com questions 14551311 merging dll with exe 好的 所以 我将 ilmerge 的所有文
  • 如何通过双击图标来执行JAVA程序?

    我写了一个java程序 现在我想在没有 IDE Eclipse 等的情况下打开我的控制台 java 应用程序 只需双击桌面上的可执行版本即可 我已将 java 项目导出为 Runnable JAR 文件 但无法打开 当我尝试使用cmd打开应

随机推荐