Vector35 / Vector35/binaryninja-api
[Rust API] Expose functions to map between IL levels
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
What is the feature you'd like to have?
The Rust API does not currently expose any way to map from an LLIL instruction to the corresponding MLIL instruction(s) or vice versa. Similarly absent are functions for MLIL <-> HLIL.
This would provide the equivalents of:
MediumLevelILFunction::GetLowLevelILInstructionIndex
MediumLevelILFunction::GetLowLevelILExprIndex
MediumLevelILFunction::GetLowLevelILExprIndexes
MediumLevelILFunction::GetHighLevelILInstructionIndex
MediumLevelILFunction::GetHighLevelILExprIndex
MediumLevelILFunction::GetHighLevelILExprIndexes
for each of the IL levels.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Rust API bindings for LLIL, MLIL, and HLIL, then compare them with the listed C++ methods: GetLowLevelILInstructionIndex, GetLowLevelILExprIndex, GetLowLevelILExprIndexes, and their high-level equivalents. Done means the Rust API exposes mappings in both directions between each adjacent IL level, including instruction, single-expression, and multiple-expression lookups.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, rust
- Domain
- api, reverse-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100