print(PEinfo['StringFileInfo']['InernalName'], PEinfo['StringFileInfo']['LegalCopyright'], TypeError: 'NoneType' object is not subscriptable
时间: 2023-10-19 22:07:44 浏览: 106
This error occurs because one or both of the keys ('InternalName' and 'LegalCopyright') in the dictionary PEinfo['StringFileInfo'] are not present.
To avoid this error, you can first check if the keys exist using the `get()` method:
```
internal_name = PEinfo['StringFileInfo'].get('InternalName')
legal_copyright = PEinfo['StringFileInfo'].get('LegalCopyright')
if internal_name is not None and legal_copyright is not None:
print(internal_name, legal_copyright)
else:
print("One or both keys do not exist in the dictionary.")
```
相关问题
pe格式文件32位64位判断检测 pe32or64
对于判断和检测PE格式文件的32位或64位,我们可以通过以下几种方法进行。
首先,可以通过查看PE文件的头部信息来确定它的位数。PE文件的头部是由一个PE头和一个可选的扩展PE头组成。在PE头中,有一个字段名为Magic Number,这个字段的值可以告诉我们PE文件是32位还是64位的。对于32位的PE文件,Magic Number的值为0x010B,而对于64位的PE文件,Magic Number的值为0x020B。
其次,可以使用一些专门的工具来检测PE文件的位数。例如,使用PEview或PEinfo等工具可以直接查看并显示PE文件的位数信息。
另外,通过获取PE文件的文件头信息也可以判断其位数。PE文件的文件头中有一个Machine字段,它表示该文件是在哪种架构下编译的。对于32位的PE文件,Machine字段的值可以是0x014C(32位的x86架构),而对于64位的PE文件,Machine字段的值可以是0x8664(64位的x64架构)。
最后,还可以通过解析PE文件的导入表和导出表来判断其位数。由于32位和64位的PE文件的导入表和导出表结构不同,因此我们可以通过检查这些表的结构和字段来判断PE文件的位数。
总结起来,判断和检测PE格式文件的32位或64位可以通过查看PE文件头部信息的Magic Number字段、使用专门的工具、获取文件头中的Machine字段信息,以及解析导入表和导出表等方法来实现。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)