Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ELF解析:使用pyelftools直接访问模具_Python_Binary_Elf_Dwarf_Pyelftools - Fatal编程技术网

Python ELF解析:使用pyelftools直接访问模具

Python ELF解析:使用pyelftools直接访问模具,python,binary,elf,dwarf,pyelftools,Python,Binary,Elf,Dwarf,Pyelftools,我需要一个直接使用偏移量访问模具的方法。到目前为止,我发现有一种计算单位CU对象的方法,可以从其偏移量访问模具 即: cu._get_DIE(die.attributes['DW_AT_type'].value) 但是,如果您试图访问当前CU之外的骰子,您将无法访问,因为该骰子未在该CU下索引 我能想到的实现这一点的最好方法是循环通过CU,并使用偏移量作为索引创建一个全面的模具列表 看起来应该有一个DWARFInfo类的方法,只要有偏移量,就可以访问任何骰子 我之所以需要这样做,是因为我正在遍

我需要一个直接使用偏移量访问模具的方法。到目前为止,我发现有一种计算单位CU对象的方法,可以从其偏移量访问模具

即:

cu._get_DIE(die.attributes['DW_AT_type'].value)
但是,如果您试图访问当前CU之外的骰子,您将无法访问,因为该骰子未在该CU下索引

我能想到的实现这一点的最好方法是循环通过CU,并使用偏移量作为索引创建一个全面的模具列表

看起来应该有一个DWARFInfo类的方法,只要有偏移量,就可以访问任何骰子


我之所以需要这样做,是因为我正在遍历所有CU以生成我的全局列表,我需要引用不同CU中的DIE来检索类型信息。

pyelftools似乎将引用表示为相对于编译单元的值,因此您可能需要将CU信息包含在全局列表中

退房。它表示引用可以是相对于编译单元的。事实上,DWARF规范也指出: