能力值:
( LV2,RANK:10 )
|
-
-
2 楼
Machine:可执行文件的目标CPU类型。
|
能力值:
( LV9,RANK:170 )
|
-
-
3 楼
目标cpu类型指的是什么?是在编译的时候还是再执行的时候?
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
加载的时候,加载器去判断的
|
能力值:
( LV9,RANK:170 )
|
-
-
5 楼
哦,多谢,那第一个问题能否给出相应解释?
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
应该说两个东西没啥大关系
NumberOfRvaAndSizes值恒等于16(0x10),里面包括输出表、输入表、资源、、、COM、保留
|
能力值:
( LV9,RANK:170 )
|
-
-
7 楼
我在一个加壳的文章中看到这么一段
if (Image_DIRECTOYR_ENTRY_COM_DESCRIPTOR< NumberOfRvaAndSizes) //如果数据目录项数大于IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR(不明白为什么这么判断)
{
if (IMAGE_FILE_MACHINE_AMD64 == pNt->FileHeader.Machine)
{
pDataDir->VirtualAddress = ((PIMAGE_OPTIONAL_HEADER64)pOpt)->DataDirectory[iIndex].VirtualAddress;
pDataDir->Size = ((PIMAGE_OPTIONAL_HEADER64)pOpt)->DataDirectory[iIndex].Size;
bRet = true;
}
else if (IMAGE_FILE_MACHINE_I386 == pNt->FileHeader.Machine)
{
pDataDir->Size = pOpt->DataDirectory[iIndex].Size; //为pDataDir所指向的IMAGE_DATD_DIRECTORY结构中的大小赋值
pDataDir->VirtualAddress = pOpt->DataDirectory[iIndex].VirtualAddress; //为pDataDir所指向的IMAGE_DATD_DIRECTORY结构中的数据RVA赋值
bRet = true;
}
这里不明白为什么判断二者关系
|
能力值:
( LV9,RANK:170 )
|
-
-
8 楼
NumberOfRvaAndSizes不一定等于 16的, 有可能小一些。 表示数据目录中有效的项的个数。
|
能力值:
( LV9,RANK:170 )
|
-
-
9 楼
那请问,它与IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTR有什么关系?IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTR好像也是个固定值--14;
|
能力值:
( LV15,RANK:3306 )
|
-
-
10 楼
..
NumberOfRvaAndSizes表示数据目录中有效的项的个数
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR为数据目录最后一个有意义的项
这样判断不是挺正常的么
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
楼主注册时间很早啊..怎么突然又搞PE了
|
能力值:
( LV9,RANK:170 )
|
-
-
12 楼
别人给的号,亲,能否帮忙解答上诉问题?
|
能力值:
( LV9,RANK:170 )
|
-
-
13 楼
第一个问题中的判断是有意义的,就是判断要做赋值的结构是否在最大数量范围内
|
|
|