diff --git a/src/sdk/schema_system.rs b/src/sdk/schema_system.rs index 07dc8b2..4e595e0 100644 --- a/src/sdk/schema_system.rs +++ b/src/sdk/schema_system.rs @@ -13,10 +13,13 @@ pub struct SchemaSystem<'a> { impl<'a> SchemaSystem<'a> { pub fn new(process: &'a Process) -> Result { - let mut address = process.find_pattern( - "schemasystem.dll", - "48 8D 0D ? ? ? ? E9 ? ? ? ? CC CC CC CC 48 8D 0D ? ? ? ? E9 ? ? ? ? CC CC CC CC 48 83 EC 28" - ).expect("unable to find schema system pattern"); + let mut address = process + .find_pattern( + "schemasystem.dll", + "48 8D 05 ? ? ? ? c3 ? ? ? 00 00 00 00 00 48 8d 05 ? ? ? ? c3 ? ? ? 00 00 00 00 00 48 ? ? ? c3" + // "48 8D 0D ? ? ? ? E9 ? ? ? ? CC CC CC CC 48 8D 0D ? ? ? ? E9 ? ? ? ? CC CC CC CC 48 83 EC 28" + ) + .expect("unable to find schema system pattern"); address = process.resolve_rip(address, None, None)?; @@ -24,13 +27,15 @@ impl<'a> SchemaSystem<'a> { } pub fn type_scopes(&self) -> Result> { - let size = self.process.read_memory::(self.address + 0x190)?; + // let size = self.process.read_memory::(self.address + 0x190)?; + let size = self.process.read_memory::(self.address + 0x1f8)?; if size == 0 { bail!("no type scopes found"); } - let data = self.process.read_memory::(self.address + 0x198)?; + // let data = self.process.read_memory::(self.address + 0x198)?; + let data = self.process.read_memory::(self.address + 0x200)?; let mut addresses = vec![0; size as usize]; diff --git a/src/sdk/schema_system_type_scope.rs b/src/sdk/schema_system_type_scope.rs index 1db085e..945e1ad 100644 --- a/src/sdk/schema_system_type_scope.rs +++ b/src/sdk/schema_system_type_scope.rs @@ -17,7 +17,8 @@ impl<'a> SchemaSystemTypeScope<'a> { pub fn classes(&self) -> Result> { let declared_classes = self .process - .read_memory::>(self.address + 0x5B8)?; + .read_memory::>(self.address + 0x620)?; + // .read_memory::>(self.address + 0x5B8)?; let classes: Vec = declared_classes .elements(self.process)?