mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
bcc99350238ea789937e56f4e8a7fb31230ecb4f
When importing an llvm::ArrayType, emit a Clift StructType with the OpaqueType rank in its handle and a single i8 array field of the right byte size, instead of a real array type. This avoids exposing C array types as rvalues in the generated code, which is a foot-gun because array rvalues immediately decay to pointers, and provides a single name (via the existing OpaqueType infra) for arrays of equal byte size.
The rev.ng binary analysis framework and decompiler
Welcome to the rev.ng project!
rev.ng is an open source binary analysis framework based on LLVM and QEMU. It features a full-fledged decompiler. It's developed by rev.ng Labs in the open.
Getting started
Head to the online documentation to get started (source).
Getting in touch
You can get in touch with us through the following means:
- X/Twitter, for the latest news about the project;
- Discord, a place for chatting for users and developers;
- Discourse, for user discussions;
- GitHub, for development issues and PRs;
- E-mail, for anything else;
License
The rev.ng binary analysis framework and decompiler is Free Software.
rev.ng depends on certain on GPLv2 components (in particular, QEMU), so the project is GPLv2-licensed as a whole. However, the individual files are licensed under the MIT license.
Languages
C++
77.1%
Python
12.6%
MLIR
4.4%
CMake
1.9%
LLVM
1.4%
Other
2.5%