zydis
capstone
Our great sponsors
zydis | capstone | |
---|---|---|
4 | 7 | |
3,188 | 7,025 | |
2.4% | 1.7% | |
7.7 | 9.0 | |
9 days ago | 4 days ago | |
C | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zydis
-
Exploring x86-64 Instruction Encoding
You can visualize how instructions are encoded with zydisinfo. Pass in your architecture and the hex bytes of the instructions and it’ll show all relevant info
https://github.com/zyantific/zydis/tree/master
https://www.hexacorn.com/blog/2023/09/27/zydisinfo-the-disas...
- Zydis – Fast and lightweight x86/x86-64 disassembler and code generation library
- Zydis Disassembler Library - Release v3.2.0
-
Resources on building a disassembler/debugger(like gdb/IDA but better) in C ?
Start with a disassembler. Your first job is to parse out the binary format (ELF/PE/Mach-O) and get the raw bytes representing the machine code from the text section. You need to parse and decode them into actual instructions, and a disassembly framework like capstone or zydis or countless others can help interpret the bytes. At this point you now have a basic linear disassembly view (similar to objdump) of your compiled executable, and can continue to add features, like visualizing control flow, identifying functions, resolving strings and imports from the other sections, etc.
capstone
-
Rise: Accelerate the Development of Open Source Software for RISC-V
Maybe then they can help us with the Capstone[1][2] disassembly engine auto-sync (automatic synchronization from the LLVM TableGen files) effort[3]. ARMv7, ARMv8/9, PowerPC are nearly finished, and MIPS in in near-term plans. Nobody stepped in for RISC-V yet.
[1] http://www.capstone-engine.org/
[2] https://github.com/capstone-engine/capstone
[3] https://github.com/capstone-engine/capstone/issues/2015
-
How to make smaller C and C++ binaries
Bloaty is a nice tool.
When I worked on Matter a couple years ago, we had the problem that its backend http://www.capstone-engine.org/ did not support Xtensa, and produced some Python tools that could take output from bloaty or similar data from readelf or elftools, and produce several kinds of report.
https://github.com/project-chip/connectedhomeip/blob/master/...
- Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
-
Installing Triton in fresh linux VM step-by-step guide (hairpull-free edition)
$ git clone -b next https://github.com/capstone-engine/capstone $ cd capstone $ ./make.sh $ sudo ./make.sh install $ cd ..
-
Solana is going to be the next rug pull - I'm a Solana developer and I've discovered a glaring vulnerability.
People already closing in: [Implement an eBPF decompiler/disassembler · Issue #838 · capstone-engine/capstone · GitHub](https://github.com/capstone-engine/capstone/issues/838)
- Capstone is a disassembly framework with the target of becoming the ultimate disasm engine for binary analysis and reversing in the security community.
What are some alternatives?
radare2 - UNIX-like reverse engineering framework and command-line toolset
aya - Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.
capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. [Moved to: https://github.com/capstone-engine/capstone]
Unicorn Engine - Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86)
cpufetch - Simple yet fancy CPU architecture fetching tool
ml-compiler-opt - Infrastructure for Machine Learning Guided Optimization (MLGO) in LLVM.
flecs - A fast entity component system (ECS) for C & C++
convis
semblance - Disassembler for Windows executables. Supports 16-bit NE (New Executable), MZ (DOS), and PE (Portable Executable, i.e. Win32) files.
bloaty - Bloaty: a size profiler for binaries
fadec - A fast and lightweight decoder for x86 and x86-64 and encoder for x86-64.
liquidator - open source version of a liquidation bot running against solend