分析exe文件结构
分析exe⽂件结构
转学需要哪些手续 小学生
分析exe⽂件结构
⼀、EXE⽂件概念
EXE File英⽂全名executable file ,译作可执⾏⽂件,可移植可执⾏ (PE) ⽂件格式的⽂件,它可以加载到内存中,并由操作系统加载程序执⾏,是可在操作系统存储空间中浮动定位的可执⾏程序。如记事本程序 ,可以⽤来编辑⽂档,如:测试.txt双击打开记事本程序来进⾏编辑处理。
⼆、EXE⽂件结构
EXE⽂件分为两个部分: EXE⽂件头和程序本体。exe⽂件⽐较复杂,属于⼀种多段的结构,是DOS最成功和复杂的设计之⼀。每个exe ⽂件包含⼀个⽂件头和⼀个可重定位程序的映像。⽂件头包含MS-DOS⽤于加载程序的信息,例如程序的⼤⼩和寄存器的初始值。⽂件头还指向⼀个重定位表,该表包含指向程序映像中可重定位段地址的指针链表。MS-DOS通过把该映像直接从⽂件复制到内存加载exe程序,然后调整定位表中说明的可重定位段地址。定位表是⼀个重定位指针数组,每个指向程序映像中的可重定位段地址。预知详细原理与结构,请点击
哪家美容院上表是EXE⽂件头
三、EXE⽂件打开⽅法
常见的收集数据的方法有
电影我和我的家乡简介由于EXE⽂件⽐较特殊,打开⽅式也有点特殊,需指定格式,见下⾯代码:
其中,ios_base 是C++标准程序库中的⼀个类,定义于<>头⽂件中。ios_base 类封装了C++标准中的流输⼊输出中不依赖于读写的数据的类型的基本信息,如格式化信息、异常状态、事件回调函数等。
关于PE ⽂件的头,可以参考。[cpp]
01. #include<iostream>  02. #include<string>  03. #include<fstream>  04. #include<ios>  05. using  namespace  std;  06.  07. const  int  BUFFER_SIZE=1024;  08.  09. void  update(ifstream& in)  10. {  11.    if  (!in)  12.    {  13.        return ;  14.    }  15.    std::streamsize length;  16.    char  buffer[BUFFER_SIZE];  17.    while  (!in.eof())  18.    {  19.        in.read(buffer, BUFFER_SIZE);  20.        length = in.gcount();  21.        if  (length > 0)  22.        {  23.            printf("%s",buffer);  24.        }  25.    }  26.    in.close();  27. }  28.  29.  30. int  main()  31. {  32.    update(ifstream("1.exe", ios_base::binary));  33.    return  0;  34. }环保衣服怎么做
>工商管理专业课程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。