cool
This commit is contained in:
@@ -1,21 +1,19 @@
|
||||
#include <print>
|
||||
#include <elfio/elfio.hpp>
|
||||
#include <ircolib/mem_access.hpp>
|
||||
|
||||
int main() {
|
||||
ELFIO::elfio reader;
|
||||
if (!reader.load("tests/elf/application.elf"))
|
||||
return 1;
|
||||
|
||||
for (ELFIO::Elf_Half i = 0; i < reader.segments.size(); i++) {
|
||||
const auto &segment = reader.segments[i];
|
||||
std::println(R"(Segment type {} @ 0x{:08X} -> 0x{:08X})", segment->get_type(), segment->get_virtual_address(),
|
||||
segment->get_virtual_address() + segment->get_memory_size() - 1);
|
||||
}
|
||||
|
||||
for (ELFIO::Elf_Half i = 1; i < reader.sections.size(); i++) {
|
||||
const auto §ion = reader.sections[i];
|
||||
std::println(R"(Section n.{} "{}": 0x{:08X} -> 0x{:08X})", i, section->get_name(), section->get_address(),
|
||||
section->get_address() + section->get_size() - 1);
|
||||
for (const auto §ion : reader.sections) {
|
||||
for (const auto &segment : reader.segments) {
|
||||
if (ircolib::IsInsideRange(section->get_address(), segment->get_virtual_address(),
|
||||
segment->get_virtual_address() + segment->get_memory_size() - 1))
|
||||
std::println("Found section {} @ 0x{:08X} -> 0x{:08X}", section->get_index(), section->get_address(),
|
||||
section->get_address() + section->get_size() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user