Vector35 / Vector35/binaryninja-api
Better support for stack machine decompilation
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Right now binja's core deompilation capacity is more focused on handling register machines like x86 and arm. It would be great if we can also handle stack machines, e.g., Java/.NET/Python/WASM bytecode.
Right now, technically we can represent the operations of a stack machine using our IL, but the decompiler output is often times not optimal. We probably need to do some specific handling to improve the decompilation of a stack machine.
Note this is related to https://github.com/Vector35/binaryninja-api/issues/742 but not the same
Note, to have good support for Java/.NET, there are various other language specific issues beyond this that need to be addressed. WASM might be a good starting point in this sense.
Also this is unlikely to happen in the near future, however, I am creating this issue so that people can refer to it in discussion
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
No file, test, or entry point is named. Read the related issue 742 and compare the current IL representation with decompilation of stack-machine bytecode, using WASM as the suggested starting point. Done would mean materially better, more optimal decompiler output for stack machines, with language-specific gaps tracked separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, python, wasm
- Domain
- compilers, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100