116 XexLoader(uint8_t* buffer,
size_t len, std::string path);
118 uint32_t GetEntryPoint()
const;
119 uint32_t GetStackSize()
const;
122 const std::vector<xexLibrary_t>&
GetLibraries()
const {
return libraries;}
123 size_t GetLibraryIndexByName(
const char* name)
const;
126 const std::string&
GetPath()
const {
return path;}
128 uint32_t LookupOrdinal(uint32_t ordinal);
129 virtual uint32_t GetHandle()
const {
return xexHandle;}
131 void ParseFileInfo(uint32_t offset);
132 void ParseLibraryInfo(uint32_t offset,
xexLibrary_t& lib,
int index, std::string& name);
134 int ReadImageBasicCompressed(uint8_t* buffer,
size_t xex_len,
char** outBuffer);
135 int ReadImageCompressed(uint8_t* buffer,
size_t xex_len,
char** outBuffer);
143 uint8_t session_key[16];
145 uint16_t compressionFormat, encryptionFormat;
146 uint32_t fileInfoOffset = 0;
149 uint32_t baseAddress;
151 uint32_t stackSize = 1024*1024;
153 uint32_t importBaseAddr;
155 uint32_t exportBaseAddr;
159 std::vector<xexLibrary_t> libraries;
161 uint32_t image_size();