EXE和DLL文件结构

合集下载

Windows可执行文件简述

Windows可执行文件简述

Windows可执行文件简述操作系统中的文件是一种抽象的机制,提供了一种在磁盘上保存信息而且方便以后读取的方法。

在Windows操作系统中,一个用户可以最直接体会到的文件的形式就是以.exe、.dll等为扩展名的可执行文件。

伴随着Windows操作系统的不断进步,其可执行文件的格式也发生了巨大变化。

这期间主要有4个过程:DOS中出现的最简单的以.com为扩展名的可执行文件和以.exe为扩展名的MZ格式(MZ是MZ格式的主要作者Mark Zbikowski的名字的缩写)的可执行文件,Win 3.x下出现的NE(New Executable:分段可执行文件)格式的.exe和.dll文件,Win 3.x 和Win9x所专有的LE(Linear Executable:线性可执行文件,专用于VxD文件),Win9x和Win NT/2000/XP下的32位的可执行文件PE (Portable Executable:可移动的可执行文件)。

这里面com、MZ和NE 属于Win16,PE属于Win32,LE可以兼容Win16和Win32。

在一个操作系统中,可执行的代码最终被装入内存执行之前是以文件的方式存放在磁盘中的,也就是以可执行文件的方式。

下面是Microsoft Windows操作系统中的可执行文件的概述。

1.com格式Windows下最简单的可执行文件就是DOS下的以.com为扩展名的com 文件。

com文件是旧有的只有64kb内存的cp/m机器的产物。

com格式文件最大64K,com文件内含16位程序的二进制代码映像,没有重定位信息。

com文件包含程序的二进制代码的一个绝对映像。

也就是说,为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映像从文件拷贝到内存而加载com程序;它不作任何改变。

为加载一个com程序,MS-DOS首先试图分配内存,因为com程序必须位于一个64K的段中,所以com文件的大小不能超过65,024(64K 减去用于PSP的256字节和用于一个起始堆栈的至少256字节)。

如何编写dll文件

如何编写dll文件
生成一个Dll工程,然后将你的类和函数都添加进去,然后将要输出的函数在该工程下的Translate.def文件中将名字列出(注意,只要名字,不要括号、参数等);实际上和你的Exe工程没有很大的区别。
如果你要用VB用,在Dll中定义你的函数的时候前面要加上“__stdcall”关键字,否则VB没有办法使用。
——(1)Windows的系统目录:\windows\system;
——(2)DOS中path所指出的任何目录;
——(3)程序所在的目录;
一.动态链接库(DLL)结构
——DLL中定义有两种函数:导出函数(export function)和内部函数
(internal function),导出函数可以被其他模块调用,内部函数只能在DLL内部使用。我们在用C++定制DLL文件时,需要编写的就是包含导出函数表的模块 定义文件(.DEF)和实现导出函数功能的C++文件。下面以Sample.dll为例介绍DEF文件和实现文件的结构:
MFC扩展DLL一般用来提供派生于MFC的可重用的类,以扩展已有的MFC类库的功能。MFC扩展DLL使用MFC的动态链接版本。只有使用MFC动态 链接的可执行程序(无论是EXE还是DLL)才能访问MFC扩展DLL。MFC扩展DLL的另一个有用的功能是它可以在应用程序和它所加载的MFC扩展 DLL之间传递MFC和MFC派生对象的指针。在其它情况下,这样做是可能导致问题的。
非MFC DLL
静态链接到MFC的常规DLL
动态链接到MFC的常规DLL
MFC扩展DLL
其中非MFC DLL(non-MFC DLL)内部不使用MFC,调用非MFC DLL提供的导出函数的可执行程序可以使用MFC,也可以不使用MFC。一般来说,非MFC DLL的导出函数都使用标准的C接口(standard C interface)。

dll文件怎么打开和eXeScope的使用方法及其修改

dll文件怎么打开和eXeScope的使用方法及其修改

eXeScope的使用方法及其修改一、eXeScope的几种使用方法修改系统DLL文件实现禁用首先引导下系统主要的些dll 基本上只要修改它们就可以实现很高的安全性首先请没改过DLL的朋友请下载个 EXESCOPE6.3 - 6.4工具1.Browselc.dll IE所需要调用的库文件DLL 结构雏形就是它了2.Shdoclc.dll 系统窗口及设置对话框等等........ 比如删除文件重命名.3.Shell32.dll 和上面是同类的4.Explorer.exe 开始菜单调用的程序 ......系统就上加载他进系统5.Cryptui.dll IE控件下载提示对话筐程序现在我们就讲下任何修改这些程序来达到禁止的目的一1. 禁止下载打开 Shdoclc.dll 修改资源--对话框---44162. 禁止网页添加到收藏夹 Shdoclc.dll 修改资源--对话框---21400EXESCOPE工具右边有个“禁用”的选项用这个功能把要点确定的地方禁止掉就可以不用把确定键给删除如果以后要恢复也方便二1. 禁止恶意网页加载控件 Cryptui.dll 修改要同时修改5个地方才能完全禁止资源--对话框---130资源--对话框---230资源--对话框---4101资源--对话框---4104资源--对话框---4107三1.禁止系统删除 Shell32.dll 修改5个地方资源--对话框---1011资源--对话框---1012资源--对话框---1013资源--对话框---1021资源--对话框---10222. 禁止文件被改名修改 2个地方资源--对话框---1018资源--对话框---10193. 禁止运行菜单资源--对话框---10184. 禁止系统文件被挪动修改3个地方资源--对话框---1014资源--对话框---1015资源--对话框---1016资源--对话框---1017四禁止目标另存为修改 Shdoclc.dll 文件以下3个地方1 资源--菜单--258---257 (删除)2 资源--菜单--258---252 (删除)3 资源--菜单--24641--2268 (删除这里有多项相同的删除就可以了)五禁止自定义文件夹选项修改 Shell32.dll 文件以下4个地方1 资源--菜单--215---28719 (删除)2 资源--菜单--216---28719 (删除)4 资源--菜单--217---28719 (删除)5 资源--菜单--216---28719 (删除)六禁止IE文件夹选项修改 Browselc.dll 文件1 资源--菜单--263 (这里有多个请删除)---41251(删除)2 资源--菜单--266( 也有多个请删除)---41329 (删除)3 资源--菜单--268---41251 (删除)七. 禁止98 文件共享控件修改 Msshrui.dll1`资源--- 对话框---- 1 --- AutoRadioButton:(禁止这里)2`资源--- 对话框---- 30 --- AutoRadioButton:(禁止掉)其他可以根据自己的想法进行修改八. 禁止文件的打开方式修改 Url.dll1`资源--- 对话框--- 70002`资源--- 对话框--- 7005`九. 禁止更改系统桌面修改 Shdoc401.dll1`资源--- 对话框--- 29952--- PushButton:浏览(禁止)资源--- 对话框--- 29952--- PushButton:图案 (禁止)十禁止系统文件夹自定义修改 Shd401lc.dll 2处1 资源--- 对话框--- 299572 资源--- 对话框--- 29958十一禁止文件保存路径及打开修改 Comdlg32.dll1 资源--- 对话框--- 15472 资源--- 对话框--- 1548二、dll文件的修改怎么调用dll文件用什么工具打开DLL后缀的文件是Dynamic Link Library的缩写,也就是意为动态链接库。

提取dll算法

提取dll算法

提取dll算法
DLL(动态链接库)是一种可执行文件,其中包含可由其他程序或进程调用的代码和数据。

DLL提取算法如下:
1. 确定目标文件:首先,需要确定要从中提取DLL的目标文件。

这可以是一个可执行文件(如.exe文件)或一个库文件(如.dll文件)。

2. 使用逆向工程工具:为了提取DLL,可以使用一些逆向工程工具,如IDA Pro、OllyDbg、Ghidra等。

这些工具可以帮助分析目标文件的结构和内容。

3. 寻找DLL的位置:在目标文件中,DLL通常被嵌入在资源部分中。

使用逆向工程工具,可以搜索资源部分并找到DLL的位置。

4. 导出DLL:一旦找到DLL的位置,可以使用逆向工程工具提取出DLL文件。

通常,这可以通过导出资源或将资源另存为DLL文件来完成。

5. 验证提取的DLL:提取的DLL可能需要进行验证,以确保它是完整且可用的。

可以使用一些工具,如Dependency Walker,来检查DLL的依赖关系和函数导出。

请注意,DLL提取可能涉及版权问题,在进行任何非法活动之前,请确保遵循适用的法律和道德准则。

电脑文件名_点加后面字母代表什么

电脑文件名_点加后面字母代表什么

计算机文件的格式exe可执行文件,应用程序com系统可执行文件bat批处理文件doc word文件dot模板文件xls excel文件ppt幻灯片演示文稿文件mp3 音乐文件dll动态链接库文件torrent BT种子wma音乐文件gif动画文件swf flash播放影片jpg图片文件bmp位图文件html (htm)网页文件psd photoshop文件dwt CAD文件rar(zip) 压缩文件rm(rmvb) realplay播放格式文件txt文件文件ini配置信息文件log日志文件hlp帮助文件regACA Microsoft的代理使用的角色文档acf系统管理配置acm音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能aif声音文件,支持压缩,可以使用Windows Media Player和QuickTime Player 播放AIF音频文件,使用Windows Media Player播放AIFC音频文件,使用Windows Media Player播放AIFF音频文件,使用Windows Media Player播放ani动画光标文件扩展名,例如动画沙漏。

ans ASCII字符图形动画文件arc一种较早的压缩文件,可以使用WinZip,WinRAR,PKARC等软件打开arj压缩文件。

可以使用WinZip,WinRAR,PKARC等软件打开asf微软的媒体播放器支持的视频流,可以使用Windows Media Player播放asp微软的视频流文件,可以使用Windows Media Player打开asp微软提出的Active Server Page,是服务器端脚本,常用于大型网站开发,支持数据库连接,类似PHP。

可以使用Visual InterDev编写,是目前的大热门asx Windows Media媒体文件的快捷方式au是Internet中常用的声音文件格式,多由Sun工作站创建,可使用软件Waveform Hold and Modify播放。

《结构软件学且思

《结构软件学且思
为例
QQ 群:30787198 敲门请写“玩结构的”
您可以用这个软件去查看一下您手头的结构软件里的一些 dll 文件,如果其中显示的函数名字 里有汉语拼音,那显然一定是国产软件了:)。如果某个软件里面的很多函数名跟别的软件的很多 函数名竟然一模一样,那么,您懂的,此处删略很多字。 近些年,软件行业的版权纠纷案件逐渐增多,有些软件企业的员工离职后(更嚣张的,在职的 也有),把前东家的代码搞出来,改改界面换一身新马甲就开始销售了,这显然是侵了前东家的权 的。2012 年国内最大的 IT 解决方案与服务供应商之一的东软公司(Neusoft)2012 年夏天爆出的 内部员工侵犯知识产权案件,被列为辽宁省公安系统大案,并在公安系统内部通报。在类似的侵权 案件中,其实可以借助 Dependency Walker 这类软件来进行举证。
图 3_1 Dave Cutler
Linux 和大多数 Unix 版本中的格式是“可执行与可链接格式 ELF(Executable And Linkable)” (同样也是 COFF(Common file format)格式的变种) ,而苹果操作系统的格式是 Mach-O。 有兴趣对 PE 格式进行深入研究的读者,不妨去读读文献 i。不过笔者不推荐结构工程师在这方 面花很多时间。 DLL(Dynamic Link Library 即“动态链接库”的缩写)文件里都有些啥信息呢?对于软件的 使用者(非程序员)而言,我们都能从这些文件里挖掘出什么信息呢?如何挖掘呢?请看下节。 /wiki/Import_Address_Table /wiki/Portable_Executable
结构软件学且思——以 STAAD 为例
QQ 群:30787198 敲门请写“玩结构的”
1 管窥各种软件的文件组成.........................................................................................................................1 1.1 DLL 和 exe 都是什么文件................................................................................................................ 1 1.2 软件整容软件..................................................................................................................................2 1.3 软件 DNA 鉴定利器——Dependency Walker、ViewAPI............................................................ 4

将exe和dll文件打包成单一文件的方法

将exe和dll文件打包成单一文件的方法

前言:当我们用VS或其它编程工具生成了可执行exe要运行它必须要保证其目录下有一大堆dll库文件,看起来很不爽,用专业的安装程序生成软件又显得繁琐,下面这个方法教你如何快速把exe文件和dll文件打包成一个可执行文件,就像我们平时看到的单一绿winrar r 色软件一样,只要双击它,就能运行你的程序,简单,方便,而且只需用最常见的winra 即可完成。

制作前准备:1.电脑上安装winrar,这个工具是最普及的压缩软件,我用的是winrar4.20版本。

2.把的exe文件和其所依赖的dll文件以及你的ico图标放到一个文件夹内步骤如下:一.将所有的文件,包括可执行exe文件和dll库文件以及其它的全选中,鼠标右键单击,选择“添加到压缩文件”二.在“压缩文件名”中填入自己要打包的名称,并勾选“创建自解压格式压缩文件”框。

三.选择“高级”选项卡,单击“自解压选项按钮”四.在“设置”选项卡中,“解压后运行”一栏填上解压后运行的文件,即自己的exe可执行文件名。

当单击你制作的打包程序之后,将自动执行这个文件。

五.在“模式”选项卡中,选中临时模式和全部隐藏单选按钮。

当单击你制作的打包程序之后,你的exe和库文件将被安静地拷贝到一个临时文件夹,并且不会显示进度对话框。

六.在“更新”选项卡中,选中“覆盖所有文件”,当你多次运行你制作的打包程序时候,系统重复解压你的文件到临时文件夹,并且不会询问你是否覆盖。

七.在“文本和图标”选项卡中,在“加载自解压文件图标”处,单击“浏览”按钮,选择你的打包程序的图标。

.自解压微标使用BMP格式文件,自解压文件图标使用ICO格式文件。

当完成这些简单的设置后,双击“确定”,生成你的打包程序你可以移动这个程序(myexe.exe),到其它地方执行了!只需双击,就能运行你的exe文件了。

运行的时候,多此一举的360等安全软件可能会拦截,关掉就OK了。

我也是最近才发现的这个方法,因此把它传到文库里面,供大家浏览和下载,共享技术,祝中国程序员的技术蒸蒸日上(强烈鄙视设置下载要扣分的人!).此方法不一定完美,可能还有更好的方法,希望大家一起来探讨!作者:8月的雨季联系方式:390919875@时间:2013年4月2日11:19:15Copyrigth2013wangkeke。

EXE和DLL文件结构

EXE和DLL文件结构

EXE和DLL文件结构首先,EXE文件是可执行文件的一种,它包含了程序的完整代码和资源,并且可以直接运行在Windows系统上。

它可以独立运行,通常用于执行独立的应用程序。

EXE文件的结构大致可分为以下几个部分:1. DOS头:由于Windows操作系统的前身是DOS,所以EXE文件的开头包含了一个DOS头,用于兼容性的考虑。

DOS头包含了DOS标记、偏移地址和可执行程序的长度等信息。

2. PE头:PE头是指Portable Executable头,它是EXE文件的主要组成部分。

PE头包含了许多用于区分不同的结构,包括操作系统的版本,文件的大小和入口点等信息。

PE头还包含了数据目录和节表,用于存储代码和数据的具体位置。

3.节表:节表描述了PE文件中不同节的相关信息,每个节对应一个特定的段,如代码段、数据段和资源段等。

节表包含了每个节的起始位置、大小和属性等信息,用于操作系统加载和执行文件时使用。

4.代码段:代码段包含了可执行程序的实际代码部分。

它通常是由多个函数和指令组成的,用于实现程序的逻辑。

代码段是只读的,并且由CPU执行指令时读取。

5.数据段:数据段包含了可执行程序中的各种数据,如全局变量、常量和静态变量等。

数据段可以被程序读取和写入。

6.堆:堆是用于动态分配内存的一块区域,用于存储程序运行时的动态数据。

程序可以通过调用堆管理函数来动态申请和释放内存。

7.栈:栈用于存储函数调用时的局部变量和函数调用的返回地址等信息。

栈是由CPU硬件维护的一种数据结构,用于管理函数调用的过程。

相比之下,DLL文件是一种动态链接库文件,它包含了可执行代码和数据资源,但无法直接运行。

DLL文件被设计用于在程序运行时被其他程序动态链接和调用。

DLL文件的结构与EXE文件类似,但有一些特殊之处:1.DLL文件也包含了DOS头和PE头,用于兼容性和插件化的考虑。

但一般情况下,DLL文件的DOS头会被设置为一个无用的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EXE和DLL文件结构
EXE(Execution)和DLL(Dynamic Link Library)是Windows操作
系统中常见的可执行文件格式。

本文将从结构、功能和使用方面对EXE和DLL文件进行详细的介绍。

1.EXE文件结构:
EXE文件是一种可执行文件,用于存储和执行程序代码。

其结构如下:
1.1 DOS头部(DOS Header):存储DOS可执行文件的信息,包括魔数、代码段长度等。

1.2 PE头部(PE Header):存储Windows可执行文件的信息,包括
文件类型、节表的偏移量等。

1.3 节表(Section Table):用于记录程序代码和数据的物理位置
及大小,包括.text(代码段)、data(数据段)等。

1.4 导入表(Import Table):存储程序引用的外部函数和DLL文件。

1.5 导出表(Export Table):存储程序对外提供的函数和数据。

1.6 资源表(Resource Table):存储程序所需的资源,如图标、位图、字符串等。

1.7 异常表(Exception Table):用于处理程序中的异常,如访问
越界、除零等。

1.8 其他表格:包括重定位表(Relocation Table)、调试表(Debug Table)等。

2.DLL文件结构:
DLL文件是一种动态链接库文件,用于在不同的程序间共用函数和数据。

其结构如下:
2.1 DOS头部(DOS Header):与EXE文件的DOS头部相同。

2.2 PE头部(PE Header):与EXE文件的PE头部相同。

2.3 节表(Section Table):与EXE文件的节表相同。

2.4 导入表(Import Table):记录DLL文件中引用的外部函数和其
他DLL文件。

2.5 导出表(Export Table):记录DLL文件对外提供的函数和数据。

2.6 资源表(Resource Table):与EXE文件的资源表相同。

2.7 异常表(Exception Table):与EXE文件的异常表相同。

2.8其他表格:与EXE文件的其他表格相同。

3.EXE和DLL文件的功能:
3.1EXE文件的功能:
-EXE文件是独立运行的程序,可以通过执行EXE文件来启动程序。

-EXE文件可以包含应用程序的全部或部分代码,用于实现特定功能。

-EXE文件可以通过调用系统API来访问操作系统提供的功能,如文
件读写、图形绘制等。

-EXE文件可以包含静态链接的库,使程序可以在没有DLL文件的情
况下独立运行。

3.2DLL文件的功能:
-DLL文件包含一组函数和数据,可以被多个程序所共享和使用。

-DLL文件可以通过导出表提供函数和数据,供其他程序调用。

-DLL文件可以通过导入表引用其他DLL文件中的函数和数据。

-DLL文件可以实现代码的重用,减少程序的体积和内存占用。

-DLL文件可以通过动态链接的方式,在程序运行时进行加载和卸载,实现运行时更新。

4.EXE和DLL文件的使用:
4.1EXE文件的使用:
-双击EXE文件可以直接运行程序。

-EXE文件可以通过命令行参数进行启动和配置,实现不同的功能。

-EXE文件可以直接安装到操作系统中,方便用户使用和管理。

-EXE文件可以作为服务部署,使程序在后台运行。

-EXE文件可以打包发布,方便分发和安装。

4.2DLL文件的使用:
-程序可以通过静态链接或动态链接的方式使用DLL文件中的函数和
数据。

-静态链接将DLL文件中的代码和数据复制到程序中,在编译期间进
行链接。

-动态链接将DLL文件作为共享库,程序在运行时加载和使用DLL文
件中的函数和数据。

-动态链接允许多个程序共享同一个DLL文件,减少内存消耗。

-动态链接还允许程序在运行时动态替换DLL文件,实现更新和扩展。

总结:
EXE和DLL文件是Windows操作系统中常见的可执行文件格式。

EXE
文件是独立运行的程序,可以包含全部或部分代码,通过执行EXE文件来
运行程序。

DLL文件是动态链接库文件,包含一组函数和数据,可以被多
个程序所共享和使用。

DLL文件通过导出表提供函数和数据,通过导入表
引用其他DLL文件中的函数和数据。

EXE文件和DLL文件的结构和功能有
些相似,但主要区别在于使用方式和调用方式。

通过合理使用EXE和DLL
文件,可以实现程序的高效运行和代码的重用。

相关文档
最新文档