最近学习状态严重下滑,自打过年以后,学习状态一天不如一天,也是疫情搞的我心惶惶,哎,难受。
这是一篇关于PE Section Table位置的记录
问题:我们知道PE文件有一个区块表,可是无论DOS头还是文件头都没有记录这部分的地址,那我们如何定位PE的区块表的位置呢?
其实PE文件的区块表是紧邻IMAGE_NT_HEADERS的,也就是说,在OptionalHeader之后紧接着就是我们的区块表。
我们可以直接通过windowsAPIIMAGE_FIRST_SECTION(pNtH)
直接获得区块表的首地址,这里的pNtH是PIMAGE_NT_HEADERS
类型,是PE文件头的指针。
下面上证据:(因为懒得用十六进制分析器搞,就从代码层面来看)
首先看IMAGE_FIRST_SECTION
宏的定义:
#define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) \
((ULONG_PTR