bin2llvmir: produce self-contained LLVM IR
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
This meta issue intends to track the development of bin2llvmir, with the goal of producing self-contained LLVM IR, which may be consumed by other tools, such as symbolic execution engines (e.g. klee), other binary analysis tools, etc.
Discussions on how best to do this may be contained here, and specific issues related to the binary to LLVM IR translation may be referenced from here (e.g. the contents of wide-strings being lost in .ll representation, but present in .bc representation: #38.)
The end-goal may be to reach a functionality similar to that of mcsema, which produces recompilable LLVM IR. However, this is considered difficult, and not the specific aim of RetDec (which seeks to produce readable LLVM IR and HLL), so if this should be the end goal is still up for discussion. It could be enough to produce self-contained LLVM IR that may be fed to symbolic execution engines.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the bin2llvmir work and the referenced issue #38 about wide strings being lost in .ll but retained in .bc. Clarify whether the goal is self-contained IR for symbolic execution or recompilable IR like mcsema, then define a concrete scope and acceptance criteria for the related translation issues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100