peview-cpp is a small C++20 PE parser for tools that need to inspect Windows binaries without pulling in a large framework.
It reads sections, exports, forwarded exports, imports, and TLS callback metadata from a byte span. The parser is deliberately boring: every RVA translation and table walk goes through bounds checks.
std::vector<char> raw = read_file("ntdll.dll");
peview::image image(std::as_bytes(std::span(raw)));
if (auto ok = image.parse()) {
for (const auto& section : image.sections()) {
std::cout << section.name << "\n";
}
}cmake -S . -B build -DPEVIEW_BUILD_EXAMPLES=ON
cmake --build build --config Release