fadec
zydis
fadec | zydis | |
---|---|---|
1 | 4 | |
140 | 3,194 | |
- | 1.4% | |
6.2 | 7.6 | |
3 months ago | 18 days ago | |
C | C | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
fadec
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.
What are some alternatives?
iced - Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua
radare2 - UNIX-like reverse engineering framework and command-line toolset
opensmalltalk-vm - Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.
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]
base16384 - Encode binary files to printable utf16be.
cpufetch - Simple yet fancy CPU architecture fetching tool