Я новичок и изучаю заголовки ELF, поэтому мне очень признательны за подробности и пояснения. почему появляется ошибка.
Обратите внимание, что структура ELFHeader имеет их по умолчанию:
Код: Выделить всё
string e_ident_MAG[4] = {"7F", "45", "4C", "46"};
string e_ident_DATA[1] = {"01"};
string e_ident_VERSION[1] = {"01"};
string e_ident_OSABI[1] = {"03"};
string e_ident_ABIVERSION[1] = {"00"};
string e_ident_PAD[7] = {"00", "00", "00", "00", "00", "00", "00"};
string e_version[4] = {"01", "00", "00", "00"};
string e_phoff[8] = {"40", "00", "00", "00", "00", "00", "00", "00"};
string e_flags[4] = {"00", "00", "00", "00"};
string e_shstrndx[2] = {"00", "00"};
Код: Выделить всё
#include
#include
#include
#include "dataStructs.h"
using namespace std;
int main() {
dataStructs DS; // contains ELF format
ofstream hex_dump("output/hex_dump.txt", ios::trunc);
DS.ELFHeader.e_ident_CLASS[0] = "02";
DS.ELFHeader.e_type[0] = "02";
DS.ELFHeader.e_machine[0] = "3E";
DS.ELFHeader.e_entry[2] = "40";
DS.ELFHeader.e_entry[0] = "B0";
DS.ELFHeader.e_ehsize[0] = "40";
DS.ELFHeader.e_phentsize[0] = "38";
DS.ELFHeader.e_phnum[0] = "02";
hex_dump
Подробнее здесь: [url]https://stackoverflow.com/questions/79261396/whats-causing-a-segmentation-fault-and-core-dump-in-this-elf-executable[/url]