Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

RIIR

Aperta
#186 4 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
18/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
c, cpp, rust

Direzione di ricerca

Esamina innanzitutto la C API esistente e confronta i parser Rust PE proposti, goblin e object. Valuta poi l’impatto sulla major version e sui progetti downstream winchecksec e uthenticode; il lavoro sarebbe completato quando saranno definiti l’ambito della riscrittura, la scelta del parser, il piano di compatibilità e il lavoro di migrazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

discussion

I think it's time to consider rewriting this project in Rust: it receives very little maintenance or novel feature development, has had a few memory corruption vulnerabilities discovered through fuzzing over the years, and has a relatively simple C API that could be exposed from a Rust core.

In other words: from an external users' perspective, all that would change is the C API (we'd have to make breaking changes to accommodate internal changes). External users would not need to know Rust.

If we decide to do this, we should do it as a major breaking change, with a new major (3.x) release series.

As part of a potential rewrite, we should reuse an existing high-quality Rust PE parser, rather than writing our own. Two options:

A rewrite here would also have downstream repercussions for a few of our projects, including winchecksec and uthenticode. It's my opinion that those repercussions would be largely positive, although it's still churn that would need to be performed. It would also be a strong motivating point for rewriting some of those projects in Rust as well.

CCing for opinions: @ekilmer @yardenshafir @ret2libc @alessandrogario

Lingua principale
C++
Stelle
913
Fork
171
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di trailofbits/pe-parse

Tutte le issue di trailofbits/pe-parse

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.