m4b / m4b/goblin

High level ELF write API

Open
#511 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
1.5k
Forks
202
PR merge metrics
No merged PRs in 30d

Description

We're currently using two libraries for patching ELF files (https://github.com/PyO3/maturin/pull/2932): Goblin for "linting" build artifacts and reading the RPATH, where it has convenient high-level functions, and object for adjusting RPATH/SONAME/etc. through [arwen](https://github.com/nichmor/arwen). I've been looking at the [faerie example](https://github.com/m4b/faerie/blob/04ea1211a677457b331e3f97ec7131dad3dfb655/src/elf.rs#L784-L1041) for writing ELF files, but it seems there's no typed, safe ELF write API, with which we could replace parsing with both goblin and object with using goblin specifically for ELF files.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the faerie ELF example at src/elf.rs lines 784-1041, then review how Goblin and object are currently used for ELF linting, RPATH reading, and writing through arwen. Done would mean a defined, typed, safe high-level ELF write API capable of replacing the described Goblin/object workflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.