Skip to content

frida-cov no image id or image end. #150

@algoatson

Description

@algoatson

Using binaryninja 4.0.1, on NixOS 24.11 i ran into some issues.

The first line is a print statement i added inside populate_modules, shows that we're missing the following fields.

  • idx = image['id']
  • end = int(image['end'], 0)

{'name': 'binaryninja', 'base': '0x564c65cd3000', 'size': 20695544, 'path': '/opt/binaryninja/binaryninja'}
Traceback (most recent call last):
File "/opt/binaryninja/lib/python3.11/site-packages/frida/core.py", line 562, in _on_message
callback(message, data)
File "/tmp/lighthouse/coverage/frida/frida-drcov.py", line 242, in on_message
populate_modules(maps)
File "/tmp/lighthouse/coverage/frida/frida-drcov.py", line 183, in populate_modules
idx = image['id']
~~~~~^^^^^^
KeyError: 'id'

I also uncommented the print(msg) inside the on_function message.

Results in:
[+] Attached. Loading script...
{'type': 'send', 'payload': {'map': [{'name': 'binaryninja', 'base': '0x564c65cd3000', 'size': 20695544, 'path': '/opt/binaryninja/binaryninja'}, {'name': 'linux-vdso.so.1', 'base': '0x7ffcc0fdb000', 'size': 4303, 'path': 'linux-vdso.so.1'}, {'name': 'libbinaryninjaui.so.1', 'base': '0x7f9bee200000', 'size': 11619192, 'path': '/opt/binaryninja/libbinaryninjaui.so.1'}, {'name': 'libQt6Widgets.so.6', 'base': '0x7f9beda00000', 'size': 7732536, 'path': '/opt/binaryninja/libQt6Widgets.so.6'}, {'name': 'libbinaryninjacore.so.1', 'base': '0x7f9be2e00000', 'size': 179787872, 'path': '/opt/binaryninja/libbinaryninjacore.so.1'},

As we can see it contains no id or end field. Could this be the reason why loading the coverage file inside binaryninja results in a PARSE_ERR

I'm going to try and fix the js script.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions