汉化PE可执行文件的基础知识

  • 汉化PE可执行文件的基础知识已关闭评论
  • 3,605 视图
  • A+
所属分类:编程开发

心语家园 https://www.xinyucn.cc/ 为非盈利网站,纯公益性质,所有软件和插件均免费下载。象征性收取的少许费用,完全是为了维持网站运营,支付服务器费用。且收费有助于防止采集和拷贝。由于有些软件主题插件升级频繁,导致汉化不完全,如果你购买后发现此问题,可通过网站顶部“私信本站”反馈,我们将尽快完善汉化。

正文开始:

(1)在Windows下所谓PE文件即Portable Executable,意为可移植的可执行的文件。常见的.EXE、.DLL、.OCX、.SYS、.COM都是PE文件。PE文件有一个共同特点:前两个字节为4D 5A(MZ),*如果一个文件前两个字节不是4D 5A则其肯定不是可执行文件*。
PE文件结构:DOS头+PE头+节表+.data/.rdata/.text。注意:一个exe文件本身是一个PE文件,但是由于包含dll库,所以一个exe文件也是许多PE文件组成的(包含多个dll)一个PE文件。
(2)打开一个PE文件,其头2个字节必为字符串“MZ”,这是Mark Zbikowski的姓名缩写,他是最初的MS-DOS设计者之一。然后是一些在MS-DOS下的一些参数,这些参数是在MS-DOS下运行该程序时要用到的。在这些参数的末尾也就是文件的偏移0x3C(第60字节)处是是一个4字节的PE文件签名的偏移地址。该地址有一个专用名称叫做“E_lfanew”。这个签名是“PE00”(字母“P”和“E”后跟着两个空字节)。紧跟着E_lfanew的是一个MS-DOS程序。那是一个运行于MS-DOS下的合法应用程序。当可执行文件(一般指exe、com文件)运行于MS-DOS下时,这个程序显示“This program cannot be run in DOS mode(此程序不能在DOS模式下运行)”这条消息。用户也可以自己更改该程序,有些还原软件就是这么干的。同时,有些程序既能运行于DOS又能运行于Windows下就是这个原因。
下面以简单软件示例:
(1)kanwenjian.exe
****DOS头
①e_magic:判断一个文件是不是PE文件
②e_lfanew:相对于文件首的偏移量,用于找到PE头;
汉化PE可执行文件的基础知识4字节(共4行)的DOS头,第一个成员2个字节是可执行文件的标志信息;最后一个成员4字节是PE头的偏移地址为000000D0h,我们可以根据000000D0h来获取PE头的地址。然后我们发现这个文件没有PE头,所以我们要在这给它加个PE头, 汉化PE可执行文件的基础知识
DOS头和PE头中间的空余位置是一些垃圾值以及编译器填充的一些“is program cannot be run in DOS mode.”或“This program must be run under Win32”等信息
(2)reverseMe
打开后看到
汉化PE可执行文件的基础知识……….

汉化PE可执行文件的基础知识

本站所有发布资源均支持繁体中文,但因繁体中文用户量太少,大部分资源你需要申请汉化才能提供。从2021年1月1日开始,本站所有资源必须注册登陆后才能下载,全部免费。10家园币=1元人民币。如果你不想花钱,可以通过每天登陆、签到或邀请注册等方式免费获得家园币。
weinxin
官方微信公众号
扫一扫关注微信公众号,如果你觉得本站帮到了你,请通过下面的赏字按钮捐赠本站,谢谢!