Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

elfcat - ELF visualizer. Generates HTML files from ELF binaries.

  1. How do I install and use it?

    $ cargo install elfcat
    $ elfcat path/to/file
  2. What does it look like?

    This is what the following small example ELF file looks like:

    Steps to create it:

    $ cat hello_world.s
    global _start
    section .text
        mov rax, 1
        mov rdi, 1
        mov rsi, msg
        mov rdx, len
        mov rax, 60
        xor rdi, rdi
    section .data
        msg db "Hello, world!", 0xA
        len equ $ - msg
    $ cat link.ld
        . = 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.html
  3. Can I contribute?

    Of course!

  4. License?


  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