大飞哥自习室 发表于 2022-4-15 12:42

PE工具详解PE结构PE解析PE修改——常用PE工具介绍

对于进行逆向而言,PE结构(其实是一种文件格式,因为在进行开发时,它被定义成各种结构体,因此通常叫它PE结构)这个概念想必每位学习者在入门时都会听说过。PE格式即Portable Executable File Format,它是微软公司设计的在Windows系统下的可执行文件的格式。在Windows下使用的程序软件都是PE格式的,常见的扩展名如EXE、DLL、OCX和SYS等都属于是PE文件格式的。因此,作为一名逆向爱好者,对PE格式的掌握是必需的。
本章主要介绍有关PE文件格式相关的工具,并介绍PE文件相关的结构,以帮助读者深入了解和掌握PE格式。
PE文件格式是Windows操作系统下可执行文件的标准格式,可执行文件的装载、内存分布、执行等都依赖于PE文件格式,而在逆向分析软件时,为了有效、更高效地了解程序,必须掌握PE文件格式。请读者考虑一下,为什么用OD打开一个可执行文件后,OD可以正确地识别哪些部分是代码(CPU窗口的反汇编窗口中的内容),哪些部分是数据(CPU窗口中的数据窗口),OD加载可执行程序后为什么能够正确地停在代码的入口处,OD如何知道哪里是代码的入口处等。其实,并不是OD有多么的智能,这些全都是依赖于PE文件结构,OD只是依照并解析PE文件格式后获得的相关数据。
对于掌握反病毒、免杀、反调试、壳等相关知识,PE文件格式是重中之重
PE工具
说到PE工具,一般指的是PE文件格式查看(解析)工具、PE文件格式编辑工具、PE文件格式修改工具等。PE文件格式查看工具,是通过解析PE文件格式后以方便逆向者阅读的形式来显示PE文件格式各个结构、属性等字段的值。PE文件格式编辑工具可以编辑修改PE文件格式各个结构、属性等字段值的工具。PE文件格式修改工具可以在既有的PE文件结构中添加或者删除某些结构。
上述的PE工具只是狭义上的PE工具。在广义上来说,PE相关的工具其实并不单单是PE文件结构的查看和修改,依赖PE文件格式的工具还有壳识别工具(识别壳或者开发环境的工具)、资源编辑工具、导入表修复工具(这种工具一般会被认为是壳修复工具)等。这些都是专门某一项或某一个特定功能的PE工具。
下面介绍一些常用的PE工具。
Stud_PE介绍# Stud_PE是一个功能强大的PE文件格式编辑工具,它可以查看PE文件格式,可以进行文件格式的比较,可以进行壳的识别等。它还提供了支持插件的功能。当然,这里介绍它主要是演示它的PE文件格式的查看功能(所谓的查看,其实是解析的功能,按照PE文件格式的具体字段进行解析并显示)。Stud_PE的主界面如图4-1所示。 在图4-1中,Stud_PE主界面中包含菜单栏、文本框和一组选项卡。在菜单中可以使用Stud_PE的插件。Stud_PE主要的解析功能在它的选项卡中,主要包含PE头部、数据目录、DOS头、节表等信息。Stud_PE可以将PE文件格式的关键结构体的字段进行解析,并以十六进制的方式对应显示。单击“Basic HEADERS tree view in hexeditor”按钮,来显示并查看PE文件结构各头部对应的HEX数据,如图4-2所示。
通过图4-2选择左侧的“树型结构PE头部”或头部的字段,在右侧会以选中的方式查看相对应的十六进制的数据。这个功能非常好,因为在学习各种文件格式的时候都会依照格式的数据结构来了解它每个字段对应的十六进制值,只有这样学习,才能更深刻地掌握该种文件格式。
Stud_PE可以对PE文件格式进行修改。在对PE文件格式进行修改后,单击图4-1中的“Save to file”按钮,即可保存修改后的数据。
Stud_PE这款工具还提供了诸如虚拟地址与文件地址转换的计算器(Rva<=>Raw)、文件比较的功能(File Compare),它们都在Stud_PE工具最下方。虚拟地址与文件地址转换是较为常用的功能,因为在很多情况下需要用到几种地址的转换。文件比较功能在分析病毒或加/脱壳的文件时是非常实用的。 PEiD介绍PEiD是一款PE文件识别工具,主要用来识别可执行程序的开发环境。如果可执行程序被加壳,那么PEiD将会识别出可执行程序加壳的类型,如图4-3所示。
在图4-3中,可以看到选中的部分就是PEiD识别出来的开发环境的名称和版本号。PEiD的主要用处就是进行识别壳,它不具备PE文件格式编辑的功能,但是它支持PE文件格式各个数据结构的查看。
在PEiD中,通过“任务查看器”可以查看系统中的进程列表和进程中的模块列表,通过单击右键所弹出的菜单,可以将进图4-3 PEiD主界面
程的可执行文件或者进程中模块对应的可执行文件进行载入并识别。
在PEiD的选项对话框中,可以设置PEiD扫描的模式,分别是“普通扫描”“深度扫描”和“核心扫描”3种方式,3种方式读者可以自行进行测试。为了可以随时对任意可执行文件进行壳的识别,可以通过PEiD选项中的“右键菜单扩展”将PEiD集成到鼠标右键的菜单当中。 LordPE介绍
LordPE也是一款功能强大的PE工具,它类似于Stud_PE结合了很多的功能,而不像PEiD那样功能较为单一。LordPE是众多PE工具中使用得较多的一款PE工具,它集合了转存进程、重建PE文件、PE文件编辑等功能。LordPE的主界面与PE查看界面如图4-4和图4-5所示。
在图4-4中LordPE的主界面上,左侧的上半部分是一个进程的列表,下半部分是进程中对应模块的列表,通过这两个列表可以将进程或进程中的模块转存到磁盘上,对于进程而言LordPE可以修正映像的大小,该功能在脱壳中是经常用到的。
在图4-4中LordPE的主界面上,右侧部分有许多按钮,第一个“PE编辑器”按钮是用于查看和编辑PE文件格式的,单击后打开如图4-5所示的界面。在图4-5中的左侧部分也显示了PE结构中较为重要和关键的一些字段。而在图4-5中的右侧部分中,提供了查看PE结构中的节表、数据目录、计算虚拟地址与文件地址的转换等功能的按钮。
在图4-4中LordPE的主界面右侧,有一个“重建PE”的按钮,该功能可以修复和优化PE程序,该功能常常用在程序脱壳之后。

JYmejiO 发表于 2022-4-15 12:42

感谢楼主

JYmejiO 发表于 2022-4-15 12:42

必火 正好需要谢谢分享啊

UmVDK 发表于 2022-4-15 14:52

感谢楼主

nNDtsS316 发表于 2022-4-15 14:52

谢谢分享

tkmOD6 发表于 2022-4-15 15:05

感谢楼主

BPWK8 发表于 2022-4-15 15:15

感谢楼主

fFEH0 发表于 2022-4-15 15:44

感谢楼主

eklSC40 发表于 2022-4-15 15:44

感谢楼主

kZNywIf83 发表于 2022-4-15 16:00

感谢楼主
页: [1] 2 3 4 5 6 7 8
查看完整版本: PE工具详解PE结构PE解析PE修改——常用PE工具介绍