provide API for focusing an address without switching to the Binary Ninja window
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start with the BinaryView.navigate API and the Python call shown in the issue, then trace how it causes the Binary Ninja GUI window to receive focus. Done means an address can be navigated to without switching window focus, while the existing navigation behavior remains available; compare the requested behavior with the linked decomp2dbg and pwndbg use cases.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What is the feature you'd like to have?
Provide an API for navigating to an address without switching to the Binary Ninja window. Currently when I run
bv.navigate(self.bv.view, addr)
(https://api.binary.ninja/binaryninja.binaryview-module.html#binaryninja.binaryview.BinaryView.navigate)
the correct address is jumped to, but my window manager switches to the window of the binary ninja gui. I don't want this to happen. A potential solution would be to provide an optional argument in navigate that does not focus the gui. IDA and Ghidra both support this.
Is your feature request related to a problem?
See https://github.com/mahaloz/decomp2dbg/issues/136 and https://github.com/pwndbg/pwndbg/pull/3401:
The usecase is that I want the focus_address() endpoint to be queried every time I step, so the decompiler is fully in sync with the debugger, but obviously this doesn't work if the decompiler steals window focus on every step.
decomp2dbg allows users to sync their debugging inside the CLI GDB with various decompiler backends. I am hooking into these plugins in pwndbg through XML RPC calls. I want the decompiler's cursor to be in sinc with the value of PC in the debugger during debugging. This is a nice QoL feature for the user because they can easly switch between the debugger and the decompiler and the decompilation is focused on right where they want it to be.
This works nicely for IDA and Ghidra, but doesn't work for Binary Ninja because it steals the window focus on every debugger step, making debugging with this cursor-syncing feature enabled impossible. It's a shame since binary ninja has the best plugin API among the decompilers, so having this feature would be really cool.
Alternatives
Having binja just not steal focus by default might also make sense, I don't know of a use-case that requires this focus switching.
- Lingua principale
- C++
- Stelle
- 1.3k
- Fork
- 298
- Merge medio
- 5g 5h
- PR unite (30g)
- 19
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Vector35/binaryninja-api
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
Vector35/binaryninja-api#8540 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Vector35/binaryninja-api#8516 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
Vector35/binaryninja-api#8503 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
Vector35/binaryninja-api#8446 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
Vector35/binaryninja-api#8444 ·
Tutte le issue di Vector35/binaryninja-api
Issue simili
-
Website Doc Typo Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
autowarefoundation/autoware_universe#13413 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
automated-analysis bug memory-safety
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100