paavohtl Claude Opus 4.6 (1M context) commited on
Commit
5933e6b
·
1 Parent(s): c3b0ade

refactor: rename detect_pointer/KnownPointer to identify_pointer/PointerIdentity

Browse files
Files changed (1) hide show
  1. crates/openwa-core/src/mem.rs +6 -6
crates/openwa-core/src/mem.rs CHANGED
@@ -128,7 +128,7 @@ pub unsafe fn classify_pointer(value: u32, delta: u32) -> Option<PointerInfo> {
128
 
129
  /// Rich pointer identification result.
130
  #[derive(Debug)]
131
- pub struct KnownPointer {
132
  /// Raw runtime value.
133
  pub raw_value: u32,
134
  /// Ghidra VA (raw_value - ASLR delta).
@@ -150,7 +150,7 @@ pub struct KnownPointer {
150
  ///
151
  /// `delta` is `runtime_base - 0x400000` (the ASLR offset).
152
  #[cfg(target_os = "windows")]
153
- pub unsafe fn detect_pointer(value: u32, delta: u32) -> Option<KnownPointer> {
154
  if value == 0 || value < 0x10000 {
155
  return None;
156
  }
@@ -174,7 +174,7 @@ pub unsafe fn detect_pointer(value: u32, delta: u32) -> Option<KnownPointer> {
174
  } else {
175
  format!("{}+0x{:X}", resolved.entry.name, resolved.offset)
176
  };
177
- return Some(KnownPointer {
178
  raw_value: value,
179
  ghidra_value: ghidra_val,
180
  segment,
@@ -197,7 +197,7 @@ pub unsafe fn detect_pointer(value: u32, delta: u32) -> Option<KnownPointer> {
197
  }
198
  None => format!("{}+0x{:X}", m.object.class_name, m.offset),
199
  };
200
- return Some(KnownPointer {
201
  raw_value: value,
202
  ghidra_value: ghidra_val,
203
  segment: PointerKind::Object,
@@ -215,7 +215,7 @@ pub unsafe fn detect_pointer(value: u32, delta: u32) -> Option<KnownPointer> {
215
  let first = *(value as *const u32);
216
  let ghidra_first = first.wrapping_sub(delta);
217
  if let Some(class) = registry::vtable_class_name(ghidra_first) {
218
- return Some(KnownPointer {
219
  raw_value: value,
220
  ghidra_value: ghidra_val,
221
  segment: PointerKind::Object,
@@ -227,7 +227,7 @@ pub unsafe fn detect_pointer(value: u32, delta: u32) -> Option<KnownPointer> {
227
  }
228
 
229
  // 4. Fall back to segment-based classification
230
- classify_pointer(value, delta).map(|info| KnownPointer {
231
  raw_value: info.raw_value,
232
  ghidra_value: info.ghidra_value,
233
  segment: info.kind,
 
128
 
129
  /// Rich pointer identification result.
130
  #[derive(Debug)]
131
+ pub struct PointerIdentity {
132
  /// Raw runtime value.
133
  pub raw_value: u32,
134
  /// Ghidra VA (raw_value - ASLR delta).
 
150
  ///
151
  /// `delta` is `runtime_base - 0x400000` (the ASLR offset).
152
  #[cfg(target_os = "windows")]
153
+ pub unsafe fn identify_pointer(value: u32, delta: u32) -> Option<PointerIdentity> {
154
  if value == 0 || value < 0x10000 {
155
  return None;
156
  }
 
174
  } else {
175
  format!("{}+0x{:X}", resolved.entry.name, resolved.offset)
176
  };
177
+ return Some(PointerIdentity {
178
  raw_value: value,
179
  ghidra_value: ghidra_val,
180
  segment,
 
197
  }
198
  None => format!("{}+0x{:X}", m.object.class_name, m.offset),
199
  };
200
+ return Some(PointerIdentity {
201
  raw_value: value,
202
  ghidra_value: ghidra_val,
203
  segment: PointerKind::Object,
 
215
  let first = *(value as *const u32);
216
  let ghidra_first = first.wrapping_sub(delta);
217
  if let Some(class) = registry::vtable_class_name(ghidra_first) {
218
+ return Some(PointerIdentity {
219
  raw_value: value,
220
  ghidra_value: ghidra_val,
221
  segment: PointerKind::Object,
 
227
  }
228
 
229
  // 4. Fall back to segment-based classification
230
+ classify_pointer(value, delta).map(|info| PointerIdentity {
231
  raw_value: info.raw_value,
232
  ghidra_value: info.ghidra_value,
233
  segment: info.kind,