Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruslashev/elfcat
ELF visualizer. Generates HTML files from ELF binaries.
https://github.com/ruslashev/elfcat
Last synced: 7 days ago
JSON representation
ELF visualizer. Generates HTML files from ELF binaries.
- Host: GitHub
- URL: https://github.com/ruslashev/elfcat
- Owner: ruslashev
- License: zlib
- Created: 2020-10-03T15:15:22.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-02-14T01:58:32.000Z (over 1 year ago)
- Last Synced: 2024-10-29T06:23:10.052Z (16 days ago)
- Language: Rust
- Homepage: https://crates.io/crates/elfcat
- Size: 150 KB
- Stars: 928
- Watchers: 11
- Forks: 21
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: license
Awesome Lists containing this project
README
elfcat - ELF visualizer. Generates HTML files from ELF binaries.
1. How do I install and use it?
$ cargo install elfcat
$ elfcat path/to/file2. What does it look like?
This is what the following small example ELF file looks like:
http://ruslashev.github.io/elfcat/hello_world.html
Steps to create it:
$ cat hello_world.s
global _startsection .text
_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, len
syscallmov rax, 60
xor rdi, rdi
syscallsection .data
msg db "Hello, world!", 0xA
len equ $ - msg$ cat link.ld
ENTRY(_start)SECTIONS {
. = 0x10080; /* vm.mmap_min_addr + p_offset of first segment */.text : {
* (.text)
}.data : {
* (.data)
}
}$ nasm hello_world.s -f elf64
$ ld hello_world.o -o hello_world -n -T link.ld
$ elfcat hello_world
$ xdg-open hello_world.html3. Can I contribute?
Of course!
4. License?
Zlib.
5. Upcoming features?
* Better text renderer to fix bad performance when opening big files
* Ability to tune the width instead of hardcoded 16 bytes
* Visualization of virtual memory mappings
* Dark theme
* Highlight bytes in ASCII column
6. Addendum
* [List of forks](https://github.com/ruslashev/elfcat/wiki/Forks)