{"id":19365844,"url":"https://github.com/xermicus/elftool","last_synced_at":"2026-05-16T03:40:39.501Z","repository":{"id":86637733,"uuid":"157205757","full_name":"xermicus/elftool","owner":"xermicus","description":"Small utility that can parse 64bit ELF binaries","archived":false,"fork":false,"pushed_at":"2020-02-04T10:58:59.000Z","size":16,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-06T21:24:40.958Z","etag":null,"topics":["binary","binutils","elf"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xermicus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-12T11:50:24.000Z","updated_at":"2020-04-30T08:06:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ba93267-aa89-4e9e-a4e1-b5b1cc5fe13d","html_url":"https://github.com/xermicus/elftool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xermicus%2Felftool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xermicus%2Felftool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xermicus%2Felftool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xermicus%2Felftool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xermicus","download_url":"https://codeload.github.com/xermicus/elftool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240484152,"owners_count":19808719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary","binutils","elf"],"created_at":"2024-11-10T07:42:41.133Z","updated_at":"2026-05-16T03:40:34.463Z","avatar_url":"https://github.com/xermicus.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ELF Tool\n\nSmall utility that can parse 64bit ELF binaries. Created while reading the fantastic book \"Learning Linux Binary Analysis\" written by elfmaster.\n\n# Usage\n\n```bash\nUsage:\telftool [opts] \u003cfile\u003e\nOpts:\t-h\tdisplay this help\n\t-a\tdisplay the Elf Header, Program Header Table and Section Header Table\n\t-e\tdisplay the ELF Header\n\t-p\tdisplay the Program Header Table\n\t-s\tdisplay the Section Header Table\n\n```\n\nSo, for example we can learn about the section header table of /bin/ls:\n\n```bash\ncyrill@0x00 ~/elftool \u003e cargo run -- -s /bin/ls\n    Finished dev [unoptimized + debuginfo] target(s) in 0.01s                                                                                                                                                                          \n     Running `target/debug/main -s /bin/ls`\nSection Header Table of /bin/ls with 25 entires\nOffset\t\t\tSize\t\t\tLink\t\t\tFlags\t\t\tType\nAddress\t\t\tEntsize\t\t\tInfo\t\t\tAlign\t\t\tName\n\n0x0000000000000000\t0x0000000000000000\t0x0000000000000000\t  ---------------\tSection header table entry unused\n0x0000000000000000\t0x0000000000000000\t0x0000000000000000\t0x0000000000000000\t\n\n0x00000000000002a8\t0x000000000000001c\t0x0000000000000000\t  -a-------------\tProgram data\n0x00000000000002a8\t0x0000000000000000\t0x0000000000000000\t0x0000000000000001\t.interp\n\n0x00000000000002c4\t0x0000000000000020\t0x0000000000000000\t  -a-------------\tNotes\n0x00000000000002c4\t0x0000000000000000\t0x0000000000000000\t0x0000000000000004\t.note.ABI-tag\n\n0x00000000000002e4\t0x0000000000000024\t0x0000000000000000\t  -a-------------\tNotes\n0x00000000000002e4\t0x0000000000000000\t0x0000000000000000\t0x0000000000000004\t.note.gnu.build-id\n\n0x0000000000000308\t0x00000000000000c8\t0x0000000000000005\t  -a-------------\tGNU-style hash table. \n0x0000000000000308\t0x0000000000000000\t0x0000000000000000\t0x0000000000000008\t.gnu.hash\n\n0x00000000000003d0\t0x0000000000000c48\t0x0000000000000006\t  -a-------------\tDynamic linker symbol table\n0x00000000000003d0\t0x0000000000000018\t0x0000000000000001\t0x0000000000000008\t.dynsym\n\n0x0000000000001018\t0x00000000000005ca\t0x0000000000000000\t  -a-------------\tString table\n0x0000000000001018\t0x0000000000000000\t0x0000000000000000\t0x0000000000000001\t.dynstr\n\n0x00000000000015e2\t0x0000000000000106\t0x0000000000000005\t  -a-------------\tEnd OS-specific type\n0x00000000000015e2\t0x0000000000000002\t0x0000000000000000\t0x0000000000000002\t.gnu.version\n\n0x00000000000016e8\t0x0000000000000070\t0x0000000000000006\t  -a-------------\tVersion needs section.\n0x00000000000016e8\t0x0000000000000000\t0x0000000000000001\t0x0000000000000008\t.gnu.version_r\n\n0x0000000000001758\t0x0000000000001d28\t0x0000000000000005\t  -a-------------\tRelocation entries with addends\n0x0000000000001758\t0x0000000000000018\t0x0000000000000000\t0x0000000000000008\t.rela.dyn\n\n0x0000000000004000\t0x000000000000001b\t0x0000000000000000\t  -ax------------\tProgram data\n0x0000000000004000\t0x0000000000000000\t0x0000000000000000\t0x0000000000000004\t.init\n\n0x0000000000004020\t0x0000000000012763\t0x0000000000000000\t  -ax------------\tProgram data\n0x0000000000004020\t0x0000000000000000\t0x0000000000000000\t0x0000000000000010\t.text\n\n0x0000000000016784\t0x000000000000000d\t0x0000000000000000\t  -ax------------\tProgram data\n0x0000000000016784\t0x0000000000000000\t0x0000000000000000\t0x0000000000000004\t.fini\n\n0x0000000000017000\t0x0000000000005109\t0x0000000000000000\t  -a-------------\tProgram data\n0x0000000000017000\t0x0000000000000000\t0x0000000000000000\t0x0000000000000020\t.rodata\n\n0x000000000001c10c\t0x00000000000008c4\t0x0000000000000000\t  -a-------------\tProgram data\n0x000000000001c10c\t0x0000000000000000\t0x0000000000000000\t0x0000000000000004\t.eh_frame_hdr\n\n0x000000000001c9d0\t0x0000000000002df0\t0x0000000000000000\t  -a-------------\tProgram data\n0x000000000001c9d0\t0x0000000000000000\t0x0000000000000000\t0x0000000000000008\t.eh_frame\n\n0x0000000000020050\t0x0000000000000008\t0x0000000000000000\t  wa-------------\tArray of constructors\n0x0000000000021050\t0x0000000000000008\t0x0000000000000000\t0x0000000000000008\t.init_array\n\n0x0000000000020058\t0x0000000000000008\t0x0000000000000000\t  wa-------------\tArray of destructors\n0x0000000000021058\t0x0000000000000008\t0x0000000000000000\t0x0000000000000008\t.fini_array\n\n0x0000000000020060\t0x0000000000000a38\t0x0000000000000000\t  wa-------------\tProgram data\n0x0000000000021060\t0x0000000000000000\t0x0000000000000000\t0x0000000000000020\t.data.rel.ro\n\n0x0000000000020a98\t0x00000000000001c0\t0x0000000000000006\t  wa-------------\tDynamic linking information\n0x0000000000021a98\t0x0000000000000010\t0x0000000000000000\t0x0000000000000008\t.dynamic\n\n0x0000000000020c58\t0x0000000000000398\t0x0000000000000000\t  wa-------------\tProgram data\n0x0000000000021c58\t0x0000000000000008\t0x0000000000000000\t0x0000000000000008\t.got\n\n0x0000000000021000\t0x0000000000000268\t0x0000000000000000\t  wa-------------\tProgram data\n0x0000000000022000\t0x0000000000000000\t0x0000000000000000\t0x0000000000000020\t.data\n\n0x0000000000021268\t0x00000000000012d8\t0x0000000000000000\t  wa-------------\tProgram space with no data (bss)\n0x0000000000022280\t0x0000000000000000\t0x0000000000000000\t0x0000000000000020\t.bss\n\n0x0000000000021268\t0x0000000000000011\t0x0000000000000000\t  ---ms----------\tProgram data\n0x0000000000000000\t0x0000000000000001\t0x0000000000000000\t0x0000000000000001\t.comment\n\n0x0000000000021279\t0x00000000000000ed\t0x0000000000000000\t  ---------------\tString table\n0x0000000000000000\t0x0000000000000000\t0x0000000000000000\t0x0000000000000001\t.shstrtab\n\nFlags:\nw\tSHF_WRITE\t\tWritable\na\tSHF_ALLOC\t\tOccupies memory during execution\nx\tSHF_EXECINSTR\t\tExecutable\nm\tSHF_MERGE\t\tMight be merged\ns\tSHF_STRINGS\t\tContains nul-terminated strings\ni\tSHF_INFO_LINK\t\tsh_info' contains SHT index\nl\tSHF_LINK_ORDER\t\tPreserve order after combining\nn\tSHF_OS_NONCONFORMING\tNon-standard OS specific handling\ng\tSHF_GROUP\t\tSection is member of a group.\nt\tSHF_TLS\t\t\tSection hold thread-local data.\nc\tSHF_COMPRESSED\t\tSection with compressed data.\nO\tSHF_MASKOS\t\tOS-specific.\nP\tSHF_MASKPROC\t\tProcessor-specific\no\tSHF_ORDERED\t\tSpecial ordering requirement\ne\tSHF_EXCLUDE\t\tSection is excluded unless\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxermicus%2Felftool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxermicus%2Felftool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxermicus%2Felftool/lists"}