#include "OutFile.h" #include using namespace OutFile; File::File(std::string path) { //mystream.exceptions ( std::fstream::eofbit | std::fstream::failbit | std::fstream::badbit ); mystream.open(path.c_str(),std::fstream::binary|std::ios::in|std::ios::out); if(mystream) { mystream.read((char*)&myhead,sizeof(myhead)); for(unsigned i=0;isecond.PrintData(); }*/ } else { throw std::runtime_error("Error opening file!"); } } Section &File::GetSection(std::string name) { return sections[name]; } void File::GetText(char *ptr) { Section &s=GetSection(".text"); mystream.seekg(s.start); mystream.read(ptr,s.size); } size_t File::GetTextSize() { Section &s=GetSection(".text"); return s.size; } void File::PrintRelocations() { for(auto it=sections.begin();it!=sections.end();it++) { std::cout<first<<":\n"; for(unsigned i=0;isecond.numRel;i++) { Relocation r; mystream.seekg(it->second.ptrRel+10*i); mystream.read((char*)&r,10); std::cout<0) { i+=s.auxsymbs; } } } void File::LoadSymbols() { symbols.clear(); for(unsigned i=0;i0) { i+=s.auxsymbs; } } } File::~File() { }