public GameInfo() { String process_name = GAME_INFO_5_05_PROCESS_NAME; String section_name = GAME_INFO_5_05_SECTION_NAME; UInt64 id_offset = GAME_INFO_5_05_ID_OFFSET; UInt64 version_offset = GAME_INFO_5_05_VERSION_OFFSET; Int32 section_prot = GAME_INFO_5_05_SECTION_PROT; try { ProcessInfo processInfo = ProcessManager.mInstance.GetProcessInfo(process_name); MappedSectionList mappedSectionList = ProcessManager.mInstance.MappedSectionList; mappedSectionList.InitMemorySectionList(processInfo); List <MappedSection> sectionList = mappedSectionList.GetMappedSectionList(section_name, section_prot); if (sectionList.Count != 1) { return; } GameID = Memory.readString(processInfo.pid, sectionList[0].Start + id_offset); Version = Memory.readString(processInfo.pid, sectionList[0].Start + version_offset); } catch { } }
public ProcessManager() { MappedSectionList = new MappedSectionList(); }