diff --git a/game_payload/blob/core.o b/game_payload/blob/core.o index 84dbad4..6cc56b7 100644 Binary files a/game_payload/blob/core.o and b/game_payload/blob/core.o differ diff --git a/game_payload/include/pe.h b/game_payload/include/pe.h index f24195f..7233a21 100644 --- a/game_payload/include/pe.h +++ b/game_payload/include/pe.h @@ -2,10 +2,6 @@ #include -struct pe_section_info { - void *base_address; - size_t initialized_size; -}; +IMAGE_SECTION_HEADER *pe_find_section(HMODULE module, const char *section); -void pe_find_section(HMODULE module, const char *section, struct pe_section_info *buf); void *pe_find_entry_point(HMODULE module); diff --git a/game_payload/src/pe.c b/game_payload/src/pe.c index 9d0ba23..12273b6 100644 --- a/game_payload/src/pe.c +++ b/game_payload/src/pe.c @@ -1,6 +1,6 @@ #include -void pe_find_section(HMODULE module, const char *section, struct pe_section_info *buf) { +IMAGE_SECTION_HEADER *pe_find_section(HMODULE module, const char *section) { char *cModule = (char*)module; IMAGE_DOS_HEADER* dosHeader = (IMAGE_DOS_HEADER*)module; @@ -11,14 +11,13 @@ void pe_find_section(HMODULE module, const char *section, struct pe_section_info for (WORD i = 0; i < sectionCount; i++) { if (strncmp((char*)sectionHeader->Name, section, 8) == 0) { - break; + return sectionHeader; } sectionHeader++; } - - buf->base_address = cModule + sectionHeader->VirtualAddress; - buf->initialized_size = sectionHeader->SizeOfRawData; + + return NULL; } void *pe_find_entry_point(HMODULE module) {