From 7eb373276be20a8aa340545826478511569bc6cd Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Wed, 23 Jun 2021 23:46:15 +0000 Subject: [PATCH] Update README.md --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/README.md b/README.md index da119f4..23295ae 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,35 @@ There can be multiple LLOIFF's at a given time, just as there can be multiple OB # What LLOIFF Needs To Provide LLOIFF needs to provide a clean C++2017 interfacable class that contains all information possible about a given file. This information includes: symbols, sections, original file, size, virtual size, etc... + +### LLOIFF Symbol Class + +The LLOIFF symbol class is the base class for all symbol types. Such information as the original rva, symbol size, and symbol hash with setters and getters must be made. Something along these lines: + + +``` +namespace llo::iff +{ + using hash_t = std::uint64_t; + + class rva_t + { + public: + rva_t(); + rva_t(hash_t section_hash, std::uint32_t section_offset); + + // ... fancy c++ stuff here like override's and such + }; + + class symbol_base_t + { + public: + symbol_base_t(); + symbol_base_t( + const std::string& name, + std::uint64_t hash, + ); + + // ... fancy c++ stuff here like override's and such + }; +}