mirror of
https://github.com/a2x/cs2-dumper.git
synced 2025-07-07 02:29:44 +08:00
Compare commits
2 Commits
1059075dda
...
80334adade
Author | SHA1 | Date | |
---|---|---|---|
|
80334adade | ||
|
9b8bd68308 |
@ -1,5 +1,5 @@
|
|||||||
// Generated using https://github.com/a2x/cs2-dumper
|
// Generated using https://github.com/a2x/cs2-dumper
|
||||||
// 2024-04-08 07:10:44.298916800 UTC
|
// 2024-04-10 01:18:49.435410600 UTC
|
||||||
|
|
||||||
namespace CS2Dumper.Offsets {
|
namespace CS2Dumper.Offsets {
|
||||||
// Module: client.dll
|
// Module: client.dll
|
||||||
@ -20,6 +20,7 @@ namespace CS2Dumper.Offsets {
|
|||||||
public const nint dwViewAngles = 0x192F940;
|
public const nint dwViewAngles = 0x192F940;
|
||||||
public const nint dwViewMatrix = 0x19231B0;
|
public const nint dwViewMatrix = 0x19231B0;
|
||||||
public const nint dwViewRender = 0x19239B0;
|
public const nint dwViewRender = 0x19239B0;
|
||||||
|
public const nint dwWeaponC4 = 0x18C5210;
|
||||||
}
|
}
|
||||||
// Module: engine2.dll
|
// Module: engine2.dll
|
||||||
public static class Engine2Dll {
|
public static class Engine2Dll {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Generated using https://github.com/a2x/cs2-dumper
|
// Generated using https://github.com/a2x/cs2-dumper
|
||||||
// 2024-04-08 07:10:44.298916800 UTC
|
// 2024-04-10 01:18:49.435410600 UTC
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
@ -25,6 +25,7 @@ namespace cs2_dumper {
|
|||||||
constexpr std::ptrdiff_t dwViewAngles = 0x192F940;
|
constexpr std::ptrdiff_t dwViewAngles = 0x192F940;
|
||||||
constexpr std::ptrdiff_t dwViewMatrix = 0x19231B0;
|
constexpr std::ptrdiff_t dwViewMatrix = 0x19231B0;
|
||||||
constexpr std::ptrdiff_t dwViewRender = 0x19239B0;
|
constexpr std::ptrdiff_t dwViewRender = 0x19239B0;
|
||||||
|
constexpr std::ptrdiff_t dwWeaponC4 = 0x18C5210;
|
||||||
}
|
}
|
||||||
// Module: engine2.dll
|
// Module: engine2.dll
|
||||||
namespace engine2_dll {
|
namespace engine2_dll {
|
||||||
|
@ -15,7 +15,8 @@
|
|||||||
"dwSensitivity_sensitivity": 64,
|
"dwSensitivity_sensitivity": 64,
|
||||||
"dwViewAngles": 26409280,
|
"dwViewAngles": 26409280,
|
||||||
"dwViewMatrix": 26358192,
|
"dwViewMatrix": 26358192,
|
||||||
"dwViewRender": 26360240
|
"dwViewRender": 26360240,
|
||||||
|
"dwWeaponC4": 25973264
|
||||||
},
|
},
|
||||||
"engine2.dll": {
|
"engine2.dll": {
|
||||||
"dwBuildNumber": 5330276,
|
"dwBuildNumber": 5330276,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Generated using https://github.com/a2x/cs2-dumper
|
// Generated using https://github.com/a2x/cs2-dumper
|
||||||
// 2024-04-08 07:10:44.298916800 UTC
|
// 2024-04-10 01:18:49.435410600 UTC
|
||||||
|
|
||||||
#![allow(non_upper_case_globals, non_camel_case_types, unused)]
|
#![allow(non_upper_case_globals, unused)]
|
||||||
|
|
||||||
pub mod cs2_dumper {
|
pub mod cs2_dumper {
|
||||||
pub mod offsets {
|
pub mod offsets {
|
||||||
@ -23,6 +23,7 @@ pub mod cs2_dumper {
|
|||||||
pub const dwViewAngles: usize = 0x192F940;
|
pub const dwViewAngles: usize = 0x192F940;
|
||||||
pub const dwViewMatrix: usize = 0x19231B0;
|
pub const dwViewMatrix: usize = 0x19231B0;
|
||||||
pub const dwViewRender: usize = 0x19239B0;
|
pub const dwViewRender: usize = 0x19239B0;
|
||||||
|
pub const dwWeaponC4: usize = 0x18C5210;
|
||||||
}
|
}
|
||||||
// Module: engine2.dll
|
// Module: engine2.dll
|
||||||
pub mod engine2_dll {
|
pub mod engine2_dll {
|
||||||
|
@ -70,7 +70,7 @@ macro_rules! pattern_map {
|
|||||||
|
|
||||||
pattern_map! {
|
pattern_map! {
|
||||||
client => {
|
client => {
|
||||||
"dwCSGOInput" => pattern!("4c8b0d${*{'}} 488d045b") => Some(|view, map, rva| {
|
"dwCSGOInput" => pattern!("488905${'} 488d05${} 48890d${} 488905${} 488d05") => Some(|view, map, rva| {
|
||||||
let mut save = [0; 2];
|
let mut save = [0; 2];
|
||||||
|
|
||||||
if view.scanner().finds_code(pattern!("498d81u4 4803c7"), &mut save) {
|
if view.scanner().finds_code(pattern!("498d81u4 4803c7"), &mut save) {
|
||||||
@ -92,6 +92,7 @@ pattern_map! {
|
|||||||
"dwSensitivity_sensitivity" => pattern!("ff50u1 4c8bc6 488d55? 488bcf e8${} 84c0 0f85${} 4c8d45? 8bd3 488bcf e8${} e9${} f30f1006") => None,
|
"dwSensitivity_sensitivity" => pattern!("ff50u1 4c8bc6 488d55? 488bcf e8${} 84c0 0f85${} 4c8d45? 8bd3 488bcf e8${} e9${} f30f1006") => None,
|
||||||
"dwViewMatrix" => pattern!("488d0d${'} 48c1e006") => None,
|
"dwViewMatrix" => pattern!("488d0d${'} 48c1e006") => None,
|
||||||
"dwViewRender" => pattern!("488905${'} 488bc8 4885c0") => None,
|
"dwViewRender" => pattern!("488905${'} 488bc8 4885c0") => None,
|
||||||
|
"dwWeaponC4" => pattern!("488b15${'} ffc0 8905${} 488bc7") => None,
|
||||||
},
|
},
|
||||||
engine2 => {
|
engine2 => {
|
||||||
"dwBuildNumber" => pattern!("8905${'} 488d0d${} ff15${} e9") => None,
|
"dwBuildNumber" => pattern!("8905${'} 488d0d${} ff15${} e9") => None,
|
||||||
|
@ -93,7 +93,12 @@ fn read_class_binding(
|
|||||||
let base_class = ptr.read(process).ok()?;
|
let base_class = ptr.read(process).ok()?;
|
||||||
let parent_class = base_class.prev.read(process).ok()?;
|
let parent_class = base_class.prev.read(process).ok()?;
|
||||||
|
|
||||||
let module_name = parent_class.module_name.read_string(process).ok()?.to_string();
|
let module_name = parent_class
|
||||||
|
.module_name
|
||||||
|
.read_string(process)
|
||||||
|
.ok()?
|
||||||
|
.to_string();
|
||||||
|
|
||||||
let name = parent_class.name.read_string(process).ok()?.to_string();
|
let name = parent_class.name.read_string(process).ok()?.to_string();
|
||||||
|
|
||||||
Some(Box::new(Class {
|
Some(Box::new(Class {
|
||||||
|
@ -5,7 +5,6 @@ pub enum MemoryPoolGrowType {
|
|||||||
None = 0,
|
None = 0,
|
||||||
Fast,
|
Fast,
|
||||||
Slow,
|
Slow,
|
||||||
RbTree,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Pod)]
|
#[derive(Pod)]
|
||||||
@ -36,13 +35,14 @@ pub struct UtlMemoryPoolBase {
|
|||||||
pub free_list_head: Pointer64<FreeList>, // 0x0020
|
pub free_list_head: Pointer64<FreeList>, // 0x0020
|
||||||
pad_0028: [u8; 0x44], // 0x0028
|
pad_0028: [u8; 0x44], // 0x0028
|
||||||
pub blob_head: Pointer64<Blob>, // 0x0070
|
pub blob_head: Pointer64<Blob>, // 0x0070
|
||||||
pad_0078: [u8; 0x8], // 0x0078
|
pub total_size: i32, // 0x0078
|
||||||
|
pad_007c: [u8; 0x4], // 0x007C
|
||||||
}
|
}
|
||||||
|
|
||||||
impl UtlMemoryPoolBase {
|
impl UtlMemoryPoolBase {
|
||||||
/// Returns the total size of the memory pool.
|
/// Returns the total size of the memory pool.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn size(&self) -> i32 {
|
pub fn size(&self) -> i32 {
|
||||||
(self.num_blobs as i32 * self.blocks_per_blob) * self.block_size
|
self.total_size
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ where
|
|||||||
self.entry_mem.peak_alloc
|
self.entry_mem.peak_alloc
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO:
|
/// Returns a list of allocated or unallocated elements.
|
||||||
pub fn elements(&self, process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Vec<D>> {
|
pub fn elements(&self, process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Vec<D>> {
|
||||||
let blocks_alloc = self.blocks_alloc() as usize;
|
let blocks_alloc = self.blocks_alloc() as usize;
|
||||||
let peak_alloc = self.peak_count() as usize;
|
let peak_alloc = self.peak_count() as usize;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user