一个程序从生成到运行起来,这中间是非常复杂的一个过程,光是编译链接生成可执行程序就够研究一辈子。
这个问题里的信息量太大,需要好几本书才能回答。只针对的题目给简单的说说一个exe是怎么生成的。
程序需要依靠源文件来编译,编译之后生成中间代码(obj)文件,之后依靠链接器将所有的obj文件以及依靠的lib文件链接起来生成一个exe的文件。
这是最简单的理解,现在稍微展开点说说exe文件。
在Windows中,所有的可执行文件(exe, dll, ocx, sys等等)都是按照一定文件内容格式来组织——PE格式。PE格式记录了一个程序文件加载运行过程中的信息,例如文件类型,是一个dll还是一个exe;运行的平台,32位系统还是64位系统等等。当一个程序运行的时候,程序的加载器会根据PE格式的内容将程序文件中的数据段,代码段等等映射到内存中,并正确的导入程序要使用的系统API,同时要将文件中的一些偏移地址修正为映射入内存之后的地址,之后调用程序代码的入口点来执行。就是这样一个过程涉及到了系统的内存管理,进程管理,线程调度等等一系列问题。
而这些PE格式的内容就是链接器在链接程序的时候填入的,换句话说就是链接器生成了一个PE文件用于执行。
每个 *** 作系统都会有自己所支持的可执行文件格式。PE格式是Windows平台独有的。
工具/原料
Inno Setup 编译器
要封装的软件文件
方法/步骤
1
下载并安装Inno Setup 编译器;
2
安装完成后打开Inno Setup 编译器;
3
选择用「脚本向导」创建新的脚本文件(S);
4
点击下一步;
5
填写制作后程序的基本信息;
6
设置应用程序文件夹信息,建议保持默认;
7
浏览选择主exe执行文件;
8
选择主执行程序,(可执行的EXE文件);
9
添加程序附属的其它文件(主exe程序调用的其它文件);
10
选择程序文件所在的主目录;
11
d出是否包含子文件夹,选择是;
12
确认主exe执行文件和附属文件路径;
13
设置其它信息或保持默认;
设置应用程序安装时的许可信息、提示信息,可留空;
选择程序安装时可选的语言,默认选择中文;
选择封装好的exe安装程序的保存位置、exe文件名、exe程序图标及密码;
出现提示点击下一步;
完成提示;
是否编译脚本?点击是;
保存脚本文档,以便于下次编译;
封装完成,封装后的EXE文件保存在步骤16中设置的位置;
找到封装好的程序;
步骤阅读
即可按照步骤进行安装。
把exe文件转成apk文件是不可以的,因为两种文件运行所依赖的系统不一样。apk格式是基于安卓系统开发的,EXE是基于微软系统开发的。
解决方案:若是要在电脑上运行APK文件,可以使用第三方软件来实现。若是要修改其中代码,则可以右键点击文件选择打开方式,然后选择用winrar打开 来查看文件中的内容。或者更改文件后缀名为rar。然后解压后会得到一个文件夹,里面就是改程序的源文件。
APK(AndroidPackage)全称为Android application package,Android应用程序包,是Android *** 作系统使用的一种类似Symbian Sis或Sisx应用程序包文件格式,用于分发和安装移动应用及中间件。
Android应用程序的代码想在Android设备上运行,要先进行编译,被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。
APK文件内包含被编译的代码文件(dex )、文件资源(resources) 、ssets、证书(certificates)、清单文件(manifest file)。
用自解压格式打包即可。
软件分为很多文件是有道理的,不要认为文件多是中错误。分开多个文件能够让软件更易维护,可能提高运行和转载的速度。
其实软件完全可以写成一个文件,比如大软件一个软件1G多,单个文件也是1G,那么你的程序装载将非常缓慢。(硬盘读取速度是100M每秒左右,单是读取就用了10秒,加上初始化时间,虚拟内存交换,那么会让你崩溃)。分为多文件后,启动只需要主要的50到100m先读取运行,以后需要什么功能,我再读取一小部分。
如果真的要打包成一个,那不是真正的打包,只是将程序压缩一起,使用的时候再解压,这个过程是自动的。解压将用去大量时间。
请搜索软件绿化,和winrar自解压的做法,这是你需要的。记住,只能这么做小软件,大软件大于几十M的不要这么做。
1、有一个叫exe2c的软件,可以把exe文件转成c代码。不过建议不要用,看它生成的代码会让人痛不欲生的。
2、计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。
不可以
EXE文件生成后
就已经被打包了
无法再编译成工程文件
如果能随便编回去的话
那别人做的软件就没有任何隐私可有了
不过的确有方法
不过不是我们能弄得
就是反汇编
利用计算机
记录下程序在运行时候的机器码
之后再进行修改
这技术俄罗斯人比较搞得好
盗版软件就这么出来的
这种EXE文件都是调用其它的文件来执行数据请求的,编好的东西是分好几个文件来存放的,一般的这种东西正式的都会被加密,其实EXE就是一种压缩的加密,没有源文件是没有办法查看和修改的!!明白吗
以上就是关于exe文件如何编写全部的内容,包括:exe文件如何编写、如何将程序制作成.exe安装程序、exe文件如何转换成apk文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)