一、进制与0,1
- 计算机上都是以0,1来存储的
- 一位十六进制数用四位二进制数表示,8位二进制表示一个字节,字节是计算机管理的最小单元,所以2位十六进制数表示一个字节,我们平时用工具打开二进制文件,都是用十六进制显示,2位就是一个字节
- 计算机存储一个数据可以有不同的数据宽度
- 数据宽度:一般常用有Byte(字),Word(字)、Dword(双字)、DDword(四字)。分别为8位、16位,32位,64位
- 八进制的2-3等于多少,详见day02.3-逻辑运算
二、PE文件结构
-
PE文件结构只限于windows操作系统,windows上运行的任何一个可执行的程序都应该遵循的结构。所以PE结构适用于windows上任何可执行程序
-
如果想分析知道别人写的程序,至少应该知道三件事:1.程序从哪里开始执行;2.数据藏在哪里;3.程序藏在哪里
-
如何分析一个PE文件:
-
一堆密密麻麻的十六进制数,从哪位开始的多少长度表示的数值是文件的某些信息,下面举一个例子初步分析一下
-
文件的起始位置:在PE文件的0x3c处开始往后的4字节。注意:windows系统中数据存储方式是低位在前、高位在后,比如一个文件用二进制的方式打开,如果找到表示文件起始位置的数显示为e8 00 00 00,这个显示的格式是按照windows存储方式,但是现实中我们写、读书是从高位到低位,所以这里应该读作00 00 00 e8,即文件的起始位置在0xe8。(由于计算机存储最小单位是1个字节,即2位十六进制,所以每两位十六进制当做一个整体读
-

本文介绍了计算机中的二进制表示和数据宽度概念,重点讲解了PE文件结构在Windows操作系统中的应用,包括程序执行起点、数据存储以及PE分析工具的使用。此外,还探讨了硬编码在理解二进制函数意义中的作用,以及逆向工程的基本流程:从二进制到汇编再到C语言。最后,提到了逆向分析项目如反汇编引擎和PE分析器的重要性,并提及了可能涉及的游戏逆向分析和安全防护技术。
最低0.47元/天 解锁文章
3083

被折叠的 条评论
为什么被折叠?



