Directories
¶
| Path | Synopsis |
|---|---|
|
Package archive handles unpacking .deb files (a Unix "ar" archive containing debian-binary, control.tar.*, and data.tar.*) and safely extracting the compressed tarballs inside, guarding against path traversal, symlink escapes, and decompression bombs.
|
Package archive handles unpacking .deb files (a Unix "ar" archive containing debian-binary, control.tar.*, and data.tar.*) and safely extracting the compressed tarballs inside, guarding against path traversal, symlink escapes, and decompression bombs. |
|
Package buildsrc compiles glibc from source inside a period-correct Ubuntu base image (selected by version, since old glibc releases need an old-enough gcc/binutils to build cleanly), driven via `docker run`.
|
Package buildsrc compiles glibc from source inside a period-correct Ubuntu base image (selected by version, since old glibc releases need an old-enough gcc/binutils to build cleanly), driven via `docker run`. |
|
Package bundle packs/unpacks the whole libs/ cache as a single tar.gz so it can be carried into an air-gapped CTF environment that can't reach any mirror.
|
Package bundle packs/unpacks the whole libs/ cache as a single tar.gz so it can be carried into an air-gapped CTF environment that can't reach any mirror. |
|
Package cache resolves on-disk paths used by pwnlibc's persistent state: the bbolt symbol/fingerprint index, the aggregated package list, and per-version provenance manifests.
|
Package cache resolves on-disk paths used by pwnlibc's persistent state: the bbolt symbol/fingerprint index, the aggregated package list, and per-version provenance manifests. |
|
Package cli wires pwnlibc's Cobra command tree together.
|
Package cli wires pwnlibc's Cobra command tree together. |
|
Package config loads pwnlibc's YAML configuration: storage paths, mirror priority, and user-defined custom mirrors.
|
Package config loads pwnlibc's YAML configuration: storage paths, mirror priority, and user-defined custom mirrors. |
|
Package diffcmd compares two ELF files (typically two glibc versions): symbol additions/removals/offset-changes and security-attribute transitions, computed natively via debug/elf.
|
Package diffcmd compares two ELF files (typically two glibc versions): symbol additions/removals/offset-changes and security-attribute transitions, computed natively via debug/elf. |
|
Package elfinfo extracts everything pwnlibc needs from an ELF file using only the Go standard library's debug/elf — no shelling out to readelf, nm, or pyelftools like the original tool.
|
Package elfinfo extracts everything pwnlibc needs from an ELF file using only the Go standard library's debug/elf — no shelling out to readelf, nm, or pyelftools like the original tool. |
|
Package fetch implements pwnlibc's HTTP retrieval strategy: bounded timeouts, exponential-backoff retries per mirror, and racing several mirrors concurrently so the fastest reachable one wins.
|
Package fetch implements pwnlibc's HTTP retrieval strategy: bounded timeouts, exponential-backoff retries per mirror, and racing several mirrors concurrently so the fastest reachable one wins. |
|
Package glibcver parses the "2.NN" major.minor component out of glibc version strings like "2.31-0ubuntu9.9" for ordering comparisons.
|
Package glibcver parses the "2.NN" major.minor component out of glibc version strings like "2.31-0ubuntu9.9" for ordering comparisons. |
|
Package identify determines which glibc version an unknown .so/binary is, trying (in order) BuildID exact match against the local index, BuildID lookup via libc.rip, and finally anchor-symbol fingerprint matching against every locally indexed version.
|
Package identify determines which glibc version an unknown .so/binary is, trying (in order) BuildID exact match against the local index, BuildID lookup via libc.rip, and finally anchor-symbol fingerprint matching against every locally indexed version. |
|
Package index maintains pwnlibc's local persistent index: a BuildID -> version map and a per-version symbol table cache, backed by bbolt (pure Go, no cgo) so lookups are O(1) instead of re-parsing ELF files on every search/identify/diff invocation.
|
Package index maintains pwnlibc's local persistent index: a BuildID -> version map and a per-version symbol table cache, backed by bbolt (pure Go, no cgo) so lookups are O(1) instead of re-parsing ELF files on every search/identify/diff invocation. |
|
Package jsonout provides the shared --json output envelope used by every pwnlibc subcommand so machine-readable output has one consistent shape.
|
Package jsonout provides the shared --json output envelope used by every pwnlibc subcommand so machine-readable output has one consistent shape. |
|
Package libcrip is a client for the libc.rip public reverse-symbol-lookup API, used by `search --symbol` and the online path of `identify`.
|
Package libcrip is a client for the libc.rip public reverse-symbol-lookup API, used by `search --symbol` and the online path of `identify`. |
|
Package mirrors defines the registry of apt mirrors pwnlibc downloads glibc packages from, and probes them concurrently for availability.
|
Package mirrors defines the registry of apt mirrors pwnlibc downloads glibc packages from, and probes them concurrently for availability. |
|
Package packages parses apt pool directory listings into a unified, locally cached list of available libc6 / libc6-dbg package files across every configured mirror, so `search`/`download` never re-hit the network.
|
Package packages parses apt pool directory listings into a unified, locally cached list of available libc6 / libc6-dbg package files across every configured mirror, so `search`/`download` never re-hit the network. |
|
Package patcher implements pwninit-style ELF patching: rewrite a target binary's PT_INTERP to point at a specific ld.so and set its RPATH/RUNPATH to a specific libc directory, so it runs against the exact glibc version a CTF challenge shipped with.
|
Package patcher implements pwninit-style ELF patching: rewrite a target binary's PT_INTERP to point at a specific ld.so and set its RPATH/RUNPATH to a specific libc directory, so it runs against the exact glibc version a CTF challenge shipped with. |
|
Package pwnerr defines the typed error taxonomy used across pwnlibc so both human and --json output can report actionable, stable error codes instead of ad-hoc wrapped strings.
|
Package pwnerr defines the typed error taxonomy used across pwnlibc so both human and --json output can report actionable, stable error codes instead of ad-hoc wrapped strings. |
|
Package vulndb ships a small curated list of well-known glibc CVEs and answers "which of these affect version X" queries for the `vuln` subcommand.
|
Package vulndb ships a small curated list of well-known glibc CVEs and answers "which of these affect version X" queries for the `vuln` subcommand. |
Click to show internal directories.
Click to hide internal directories.