Vector35 / Vector35/binaryninja-api

Highlight block and edges for selected addresses

Open
#75 3 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: UI Effort: Low Impact: Low UI: Graph
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

often in viewing disassebly, knowing the start address of a basic block is helpful.

radare2 will show the addresses of bbs (see attached), and ida will mark a flag and name a bb like this (locret_400FCA) and show the flag in the graph view.

toggleable addresses of bbs would be useful.

.text:0000000000400F8E ; =============== S U B R O U T I N E =======================================
.text:0000000000400F8E
.text:0000000000400F8E ; Attributes: bp-based frame
.text:0000000000400F8E
.text:0000000000400F8E                 public disable_fork
.text:0000000000400F8E disable_fork    proc near               ; CODE XREF: main+17p
.text:0000000000400F8E
.text:0000000000400F8E var_20          = qword ptr -20h
.text:0000000000400F8E var_18          = qword ptr -18h
.text:0000000000400F8E var_4           = dword ptr -4
.text:0000000000400F8E
.text:0000000000400F8E                 push    rbp
.text:0000000000400F8F                 mov     rbp, rsp
.text:0000000000400F92                 sub     rsp, 20h
.text:0000000000400F96                 mov     [rbp+var_18], 0
.text:0000000000400F9E                 mov     rax, [rbp+var_18]
.text:0000000000400FA2                 mov     [rbp+var_20], rax
.text:0000000000400FA6                 lea     rax, [rbp+var_20]
.text:0000000000400FAA                 mov     rsi, rax
.text:0000000000400FAD                 mov     edi, 6
.text:0000000000400FB2                 call    setrlimit64
.text:0000000000400FB7                 mov     [rbp+var_4], eax
.text:0000000000400FBA                 cmp     [rbp+var_4], 0
.text:0000000000400FBE                 jns     short locret_400FCA
.text:0000000000400FC0                 mov     edi, 0FFFFFFFFh ; status
.text:0000000000400FC5                 call    _exit
.text:0000000000400FCA ; ---------------------------------------------------------------------------
.text:0000000000400FCA
.text:0000000000400FCA locret_400FCA:                          ; CODE XREF: disable_fork+30j
.text:0000000000400FCA                 leave
.text:0000000000400FCB                 retn
.text:0000000000400FCB disable_fork    endp

image

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing disassembly and graph-view behavior, then compare the requested toggleable basic-block addresses and selected block or edge highlighting with the examples from radare2 and IDA. Done means the requested indicators can be toggled and appear consistently for selected addresses, with the relevant behavior verified in the affected views.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.