CySHell / Binja4J

15 stars 0 forks source link

error while post processing an elf #3

Open CySHell opened 5 years ago

CySHell commented 5 years ago

Traceback (most recent call last): File "C:\Program Files\Vector35\BinaryNinja\plugins..\python\binaryninja\plugin.py", line 96, in _default_action action(view_obj) File "C:\Users\user\AppData\Roaming\Binary Ninja\plugins\Binary Ninja - BV2Neo4j__init__.py", line 24, in export_bv binja_graph.bv_extract() File "C:\Users\user\AppData\Roaming\Binary Ninja\plugins\Binary Ninja - BV2Neo4j\CSV_Processing\BuildCSV.py", line 65, in bv_extract post_processor.run_all() File "C:\Users\user\AppData\Roaming\Binary Ninja\plugins\Binary Ninja - BV2Neo4j\CSV_Processing\PostProcessing.py", line 22, in run_all self.add_symbols() File "C:\Users\user\AppData\Roaming\Binary Ninja\plugins\Binary Ninja - BV2Neo4j\CSV_Processing\PostProcessing.py", line 58, in add_symbols symbol_mapping.update({str(symbol.address): symbol}) AttributeError: 'list' object has no attribute 'address'

ping.zip

CySHell commented 5 years ago

This is because an elf symbol might contain 2 records, one for the imported function and one for the external definition:

bv.symbols['connect'] [<SymbolType.ImportedFunctionSymbol: "connect" @ 0x17e8>, <SymbolType.ExternalSymbol: "connect" @ 0x333e0>]