mirror of https://github.com/a2x/cs2-dumper.git
Compare commits
No commits in common. "13836dd0190304cb250dd3de7ec6bbd3d98d197a" and "ab0ab534a1e19ca9afd67be0dd57eb7b85b34e9f" have entirely different histories.
13836dd019
...
ab0ab534a1
12
README.md
12
README.md
|
@ -1,7 +1,6 @@
|
|||
# cs2-dumper
|
||||
|
||||
An external offset/interface dumper for Counter-Strike 2, with support for both Windows & Linux. Powered
|
||||
by [memflow](https://github.com/memflow/memflow).
|
||||
An external offset/interface dumper for Counter-Strike 2, with support for both Windows & Linux. Powered by [memflow](https://github.com/memflow/memflow).
|
||||
|
||||
The native Linux version is available in the [linux](https://github.com/a2x/cs2-dumper/tree/linux) branch.
|
||||
|
||||
|
@ -16,10 +15,7 @@ toolchain must be installed.
|
|||
1. Ensure the game process is running (Being in the main menu should suffice).
|
||||
2. Run the `cs2-dumper` executable (Note that some memflow connectors may require elevated privileges).
|
||||
|
||||
_Note:_ If you run the executable without specifying an optional memflow connector name, it will automatically use the
|
||||
[memflow-native](https://github.com/memflow/memflow-native) OS layer to read the memory of the game process. If you
|
||||
wish to use an existing memflow connector instead, you can pass the `connector` and optional `connector-args` arguments
|
||||
to the program.
|
||||
When running the executable without providing an optional memflow connector name, it will default to using the [memflow-native](https://github.com/memflow/memflow-native) cross-platform OS layer to read the memory of the game process. If you wish to use an existing memflow connector instead, pass the `connector` and optional `connector-args` arguments to the program.
|
||||
|
||||
E.g. `./cs2-dumper -c pcileech -a device=fpga -vvv`
|
||||
|
||||
|
@ -35,10 +31,6 @@ E.g. `./cs2-dumper -c pcileech -a device=fpga -vvv`
|
|||
- `-h, --help`: Print help.
|
||||
- `-V, --version`: Print version.
|
||||
|
||||
## Running Tests
|
||||
|
||||
To run tests, use the following command: `cargo test -- --nocapture`.
|
||||
|
||||
## License
|
||||
|
||||
Licensed under the MIT license ([LICENSE](./LICENSE)).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: animationsystem.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper {
|
||||
// Module: client.dll
|
||||
public static class Buttons {
|
||||
public const nint attack = 0x1813130;
|
||||
public const nint attack2 = 0x18131C0;
|
||||
public const nint back = 0x1813400;
|
||||
public const nint duck = 0x18136D0;
|
||||
public const nint forward = 0x1813370;
|
||||
public const nint jump = 0x1813640;
|
||||
public const nint left = 0x1813490;
|
||||
public const nint lookatweapon = 0x1A1E350;
|
||||
public const nint reload = 0x18130A0;
|
||||
public const nint right = 0x1813520;
|
||||
public const nint showscores = 0x1A1E230;
|
||||
public const nint sprint = 0x1813010;
|
||||
public const nint turnleft = 0x1813250;
|
||||
public const nint turnright = 0x18132E0;
|
||||
public const nint use = 0x18135B0;
|
||||
public const nint zoom = 0x1A1E2C0;
|
||||
public const nint attack = 0x1813100;
|
||||
public const nint attack2 = 0x1813190;
|
||||
public const nint back = 0x18133D0;
|
||||
public const nint duck = 0x18136A0;
|
||||
public const nint forward = 0x1813340;
|
||||
public const nint jump = 0x1813610;
|
||||
public const nint left = 0x1813460;
|
||||
public const nint lookatweapon = 0x1A1E0D0;
|
||||
public const nint reload = 0x1813070;
|
||||
public const nint right = 0x18134F0;
|
||||
public const nint showscores = 0x1A1DFB0;
|
||||
public const nint sprint = 0x1812FE0;
|
||||
public const nint turnleft = 0x1813220;
|
||||
public const nint turnright = 0x18132B0;
|
||||
public const nint use = 0x1813580;
|
||||
public const nint zoom = 0x1A1E040;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
@ -8,21 +8,21 @@
|
|||
namespace cs2_dumper {
|
||||
// Module: client.dll
|
||||
namespace buttons {
|
||||
constexpr std::ptrdiff_t attack = 0x1813130;
|
||||
constexpr std::ptrdiff_t attack2 = 0x18131C0;
|
||||
constexpr std::ptrdiff_t back = 0x1813400;
|
||||
constexpr std::ptrdiff_t duck = 0x18136D0;
|
||||
constexpr std::ptrdiff_t forward = 0x1813370;
|
||||
constexpr std::ptrdiff_t jump = 0x1813640;
|
||||
constexpr std::ptrdiff_t left = 0x1813490;
|
||||
constexpr std::ptrdiff_t lookatweapon = 0x1A1E350;
|
||||
constexpr std::ptrdiff_t reload = 0x18130A0;
|
||||
constexpr std::ptrdiff_t right = 0x1813520;
|
||||
constexpr std::ptrdiff_t showscores = 0x1A1E230;
|
||||
constexpr std::ptrdiff_t sprint = 0x1813010;
|
||||
constexpr std::ptrdiff_t turnleft = 0x1813250;
|
||||
constexpr std::ptrdiff_t turnright = 0x18132E0;
|
||||
constexpr std::ptrdiff_t use = 0x18135B0;
|
||||
constexpr std::ptrdiff_t zoom = 0x1A1E2C0;
|
||||
constexpr std::ptrdiff_t attack = 0x1813100;
|
||||
constexpr std::ptrdiff_t attack2 = 0x1813190;
|
||||
constexpr std::ptrdiff_t back = 0x18133D0;
|
||||
constexpr std::ptrdiff_t duck = 0x18136A0;
|
||||
constexpr std::ptrdiff_t forward = 0x1813340;
|
||||
constexpr std::ptrdiff_t jump = 0x1813610;
|
||||
constexpr std::ptrdiff_t left = 0x1813460;
|
||||
constexpr std::ptrdiff_t lookatweapon = 0x1A1E0D0;
|
||||
constexpr std::ptrdiff_t reload = 0x1813070;
|
||||
constexpr std::ptrdiff_t right = 0x18134F0;
|
||||
constexpr std::ptrdiff_t showscores = 0x1A1DFB0;
|
||||
constexpr std::ptrdiff_t sprint = 0x1812FE0;
|
||||
constexpr std::ptrdiff_t turnleft = 0x1813220;
|
||||
constexpr std::ptrdiff_t turnright = 0x18132B0;
|
||||
constexpr std::ptrdiff_t use = 0x1813580;
|
||||
constexpr std::ptrdiff_t zoom = 0x1A1E040;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"client.dll": {
|
||||
"attack": 25243952,
|
||||
"attack2": 25244096,
|
||||
"back": 25244672,
|
||||
"duck": 25245392,
|
||||
"forward": 25244528,
|
||||
"jump": 25245248,
|
||||
"left": 25244816,
|
||||
"lookatweapon": 27386704,
|
||||
"reload": 25243808,
|
||||
"right": 25244960,
|
||||
"showscores": 27386416,
|
||||
"sprint": 25243664,
|
||||
"turnleft": 25244240,
|
||||
"turnright": 25244384,
|
||||
"use": 25245104,
|
||||
"zoom": 27386560
|
||||
"attack": 25243904,
|
||||
"attack2": 25244048,
|
||||
"back": 25244624,
|
||||
"duck": 25245344,
|
||||
"forward": 25244480,
|
||||
"jump": 25245200,
|
||||
"left": 25244768,
|
||||
"lookatweapon": 27386064,
|
||||
"reload": 25243760,
|
||||
"right": 25244912,
|
||||
"showscores": 27385776,
|
||||
"sprint": 25243616,
|
||||
"turnleft": 25244192,
|
||||
"turnright": 25244336,
|
||||
"use": 25245056,
|
||||
"zoom": 27385920
|
||||
}
|
||||
}
|
|
@ -1,26 +1,26 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, unused)]
|
||||
|
||||
pub mod cs2_dumper {
|
||||
// Module: client.dll
|
||||
pub mod buttons {
|
||||
pub const attack: usize = 0x1813130;
|
||||
pub const attack2: usize = 0x18131C0;
|
||||
pub const back: usize = 0x1813400;
|
||||
pub const duck: usize = 0x18136D0;
|
||||
pub const forward: usize = 0x1813370;
|
||||
pub const jump: usize = 0x1813640;
|
||||
pub const left: usize = 0x1813490;
|
||||
pub const lookatweapon: usize = 0x1A1E350;
|
||||
pub const reload: usize = 0x18130A0;
|
||||
pub const right: usize = 0x1813520;
|
||||
pub const showscores: usize = 0x1A1E230;
|
||||
pub const sprint: usize = 0x1813010;
|
||||
pub const turnleft: usize = 0x1813250;
|
||||
pub const turnright: usize = 0x18132E0;
|
||||
pub const r#use: usize = 0x18135B0;
|
||||
pub const zoom: usize = 0x1A1E2C0;
|
||||
pub const attack: usize = 0x1813100;
|
||||
pub const attack2: usize = 0x1813190;
|
||||
pub const back: usize = 0x18133D0;
|
||||
pub const duck: usize = 0x18136A0;
|
||||
pub const forward: usize = 0x1813340;
|
||||
pub const jump: usize = 0x1813610;
|
||||
pub const left: usize = 0x1813460;
|
||||
pub const lookatweapon: usize = 0x1A1E0D0;
|
||||
pub const reload: usize = 0x1813070;
|
||||
pub const right: usize = 0x18134F0;
|
||||
pub const showscores: usize = 0x1A1DFB0;
|
||||
pub const sprint: usize = 0x1812FE0;
|
||||
pub const turnleft: usize = 0x1813220;
|
||||
pub const turnright: usize = 0x18132B0;
|
||||
pub const r#use: usize = 0x1813580;
|
||||
pub const zoom: usize = 0x1A1E040;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: client.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: engine2.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: host.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"build_number": 14015,
|
||||
"timestamp": "2024-06-18T02:29:36.184201900+00:00"
|
||||
"timestamp": "2024-06-14T04:06:49.525200800+00:00"
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Interfaces {
|
||||
// Module: animationsystem.dll
|
||||
|
@ -9,14 +9,14 @@ namespace CS2Dumper.Interfaces {
|
|||
}
|
||||
// Module: client.dll
|
||||
public static class ClientDll {
|
||||
public const nint ClientToolsInfo_001 = 0x7466C0;
|
||||
public const nint ClientToolsInfo_001 = 0x7466B0;
|
||||
public const nint EmptyWorldService001_Client = 0x481E40;
|
||||
public const nint GameClientExports001 = 0x7466D0;
|
||||
public const nint LegacyGameUI001 = 0x8DEEE0;
|
||||
public const nint Source2Client002 = 0x7466E0;
|
||||
public const nint GameClientExports001 = 0x7466C0;
|
||||
public const nint LegacyGameUI001 = 0x8DEAF0;
|
||||
public const nint Source2Client002 = 0x7466D0;
|
||||
public const nint Source2ClientConfig001 = 0x465240;
|
||||
public const nint Source2ClientPrediction001 = 0x7C9990;
|
||||
public const nint Source2ClientUI001 = 0x8C57B0;
|
||||
public const nint Source2ClientPrediction001 = 0x7C9980;
|
||||
public const nint Source2ClientUI001 = 0x8C53C0;
|
||||
}
|
||||
// Module: engine2.dll
|
||||
public static class Engine2Dll {
|
||||
|
@ -159,12 +159,12 @@ namespace CS2Dumper.Interfaces {
|
|||
public static class ServerDll {
|
||||
public const nint EmptyWorldService001_Server = 0x564D40;
|
||||
public const nint EntitySubclassUtilsV001 = 0x2BD310;
|
||||
public const nint NavGameTest001 = 0xA57050;
|
||||
public const nint ServerToolsInfo_001 = 0x8490B0;
|
||||
public const nint Source2GameClients001 = 0x8490C0;
|
||||
public const nint NavGameTest001 = 0xA57040;
|
||||
public const nint ServerToolsInfo_001 = 0x8490A0;
|
||||
public const nint Source2GameClients001 = 0x8490B0;
|
||||
public const nint Source2GameDirector001 = 0x124330;
|
||||
public const nint Source2GameEntities001 = 0x8490D0;
|
||||
public const nint Source2Server001 = 0x8490E0;
|
||||
public const nint Source2GameEntities001 = 0x8490C0;
|
||||
public const nint Source2Server001 = 0x8490D0;
|
||||
public const nint Source2ServerConfig001 = 0x54FA60;
|
||||
public const nint customnavsystem001 = 0x22BE60;
|
||||
}
|
||||
|
@ -181,26 +181,26 @@ namespace CS2Dumper.Interfaces {
|
|||
}
|
||||
// Module: steamclient64.dll
|
||||
public static class Steamclient64Dll {
|
||||
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x8A8BB0;
|
||||
public const nint IVALIDATE001 = 0x8AD030;
|
||||
public const nint SteamClient006 = 0x693680;
|
||||
public const nint SteamClient007 = 0x693690;
|
||||
public const nint SteamClient008 = 0x6936A0;
|
||||
public const nint SteamClient009 = 0x6936B0;
|
||||
public const nint SteamClient010 = 0x6936C0;
|
||||
public const nint SteamClient011 = 0x6936D0;
|
||||
public const nint SteamClient012 = 0x6936E0;
|
||||
public const nint SteamClient013 = 0x6936F0;
|
||||
public const nint SteamClient014 = 0x693700;
|
||||
public const nint SteamClient015 = 0x693710;
|
||||
public const nint SteamClient016 = 0x693720;
|
||||
public const nint SteamClient017 = 0x693730;
|
||||
public const nint SteamClient018 = 0x693740;
|
||||
public const nint SteamClient019 = 0x693750;
|
||||
public const nint SteamClient020 = 0x693760;
|
||||
public const nint SteamClient021 = 0x693770;
|
||||
public const nint p2pvoice002 = 0xDA9A0;
|
||||
public const nint p2pvoicesingleton002 = 0xD72B0;
|
||||
public const nint CLIENTENGINE_INTERFACE_VERSION005 = 0x872BD0;
|
||||
public const nint IVALIDATE001 = 0x876D20;
|
||||
public const nint SteamClient006 = 0x6708F0;
|
||||
public const nint SteamClient007 = 0x670900;
|
||||
public const nint SteamClient008 = 0x670910;
|
||||
public const nint SteamClient009 = 0x670920;
|
||||
public const nint SteamClient010 = 0x670930;
|
||||
public const nint SteamClient011 = 0x670940;
|
||||
public const nint SteamClient012 = 0x670950;
|
||||
public const nint SteamClient013 = 0x670960;
|
||||
public const nint SteamClient014 = 0x670970;
|
||||
public const nint SteamClient015 = 0x670980;
|
||||
public const nint SteamClient016 = 0x670990;
|
||||
public const nint SteamClient017 = 0x6709A0;
|
||||
public const nint SteamClient018 = 0x6709B0;
|
||||
public const nint SteamClient019 = 0x6709C0;
|
||||
public const nint SteamClient020 = 0x6709D0;
|
||||
public const nint SteamClient021 = 0x6709E0;
|
||||
public const nint p2pvoice002 = 0xDA1A0;
|
||||
public const nint p2pvoicesingleton002 = 0xD6C00;
|
||||
}
|
||||
// Module: tier0.dll
|
||||
public static class Tier0Dll {
|
||||
|
@ -232,8 +232,8 @@ namespace CS2Dumper.Interfaces {
|
|||
}
|
||||
// Module: vstdlib_s64.dll
|
||||
public static class VstdlibS64Dll {
|
||||
public const nint IVALIDATE001 = 0x26B40;
|
||||
public const nint VEngineCvar002 = 0x6060;
|
||||
public const nint IVALIDATE001 = 0x25140;
|
||||
public const nint VEngineCvar002 = 0x5760;
|
||||
}
|
||||
// Module: worldrenderer.dll
|
||||
public static class WorldrendererDll {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
@ -14,14 +14,14 @@ namespace cs2_dumper {
|
|||
}
|
||||
// Module: client.dll
|
||||
namespace client_dll {
|
||||
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x7466C0;
|
||||
constexpr std::ptrdiff_t ClientToolsInfo_001 = 0x7466B0;
|
||||
constexpr std::ptrdiff_t EmptyWorldService001_Client = 0x481E40;
|
||||
constexpr std::ptrdiff_t GameClientExports001 = 0x7466D0;
|
||||
constexpr std::ptrdiff_t LegacyGameUI001 = 0x8DEEE0;
|
||||
constexpr std::ptrdiff_t Source2Client002 = 0x7466E0;
|
||||
constexpr std::ptrdiff_t GameClientExports001 = 0x7466C0;
|
||||
constexpr std::ptrdiff_t LegacyGameUI001 = 0x8DEAF0;
|
||||
constexpr std::ptrdiff_t Source2Client002 = 0x7466D0;
|
||||
constexpr std::ptrdiff_t Source2ClientConfig001 = 0x465240;
|
||||
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x7C9990;
|
||||
constexpr std::ptrdiff_t Source2ClientUI001 = 0x8C57B0;
|
||||
constexpr std::ptrdiff_t Source2ClientPrediction001 = 0x7C9980;
|
||||
constexpr std::ptrdiff_t Source2ClientUI001 = 0x8C53C0;
|
||||
}
|
||||
// Module: engine2.dll
|
||||
namespace engine2_dll {
|
||||
|
@ -164,12 +164,12 @@ namespace cs2_dumper {
|
|||
namespace server_dll {
|
||||
constexpr std::ptrdiff_t EmptyWorldService001_Server = 0x564D40;
|
||||
constexpr std::ptrdiff_t EntitySubclassUtilsV001 = 0x2BD310;
|
||||
constexpr std::ptrdiff_t NavGameTest001 = 0xA57050;
|
||||
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x8490B0;
|
||||
constexpr std::ptrdiff_t Source2GameClients001 = 0x8490C0;
|
||||
constexpr std::ptrdiff_t NavGameTest001 = 0xA57040;
|
||||
constexpr std::ptrdiff_t ServerToolsInfo_001 = 0x8490A0;
|
||||
constexpr std::ptrdiff_t Source2GameClients001 = 0x8490B0;
|
||||
constexpr std::ptrdiff_t Source2GameDirector001 = 0x124330;
|
||||
constexpr std::ptrdiff_t Source2GameEntities001 = 0x8490D0;
|
||||
constexpr std::ptrdiff_t Source2Server001 = 0x8490E0;
|
||||
constexpr std::ptrdiff_t Source2GameEntities001 = 0x8490C0;
|
||||
constexpr std::ptrdiff_t Source2Server001 = 0x8490D0;
|
||||
constexpr std::ptrdiff_t Source2ServerConfig001 = 0x54FA60;
|
||||
constexpr std::ptrdiff_t customnavsystem001 = 0x22BE60;
|
||||
}
|
||||
|
@ -186,26 +186,26 @@ namespace cs2_dumper {
|
|||
}
|
||||
// Module: steamclient64.dll
|
||||
namespace steamclient64_dll {
|
||||
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x8A8BB0;
|
||||
constexpr std::ptrdiff_t IVALIDATE001 = 0x8AD030;
|
||||
constexpr std::ptrdiff_t SteamClient006 = 0x693680;
|
||||
constexpr std::ptrdiff_t SteamClient007 = 0x693690;
|
||||
constexpr std::ptrdiff_t SteamClient008 = 0x6936A0;
|
||||
constexpr std::ptrdiff_t SteamClient009 = 0x6936B0;
|
||||
constexpr std::ptrdiff_t SteamClient010 = 0x6936C0;
|
||||
constexpr std::ptrdiff_t SteamClient011 = 0x6936D0;
|
||||
constexpr std::ptrdiff_t SteamClient012 = 0x6936E0;
|
||||
constexpr std::ptrdiff_t SteamClient013 = 0x6936F0;
|
||||
constexpr std::ptrdiff_t SteamClient014 = 0x693700;
|
||||
constexpr std::ptrdiff_t SteamClient015 = 0x693710;
|
||||
constexpr std::ptrdiff_t SteamClient016 = 0x693720;
|
||||
constexpr std::ptrdiff_t SteamClient017 = 0x693730;
|
||||
constexpr std::ptrdiff_t SteamClient018 = 0x693740;
|
||||
constexpr std::ptrdiff_t SteamClient019 = 0x693750;
|
||||
constexpr std::ptrdiff_t SteamClient020 = 0x693760;
|
||||
constexpr std::ptrdiff_t SteamClient021 = 0x693770;
|
||||
constexpr std::ptrdiff_t p2pvoice002 = 0xDA9A0;
|
||||
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0xD72B0;
|
||||
constexpr std::ptrdiff_t CLIENTENGINE_INTERFACE_VERSION005 = 0x872BD0;
|
||||
constexpr std::ptrdiff_t IVALIDATE001 = 0x876D20;
|
||||
constexpr std::ptrdiff_t SteamClient006 = 0x6708F0;
|
||||
constexpr std::ptrdiff_t SteamClient007 = 0x670900;
|
||||
constexpr std::ptrdiff_t SteamClient008 = 0x670910;
|
||||
constexpr std::ptrdiff_t SteamClient009 = 0x670920;
|
||||
constexpr std::ptrdiff_t SteamClient010 = 0x670930;
|
||||
constexpr std::ptrdiff_t SteamClient011 = 0x670940;
|
||||
constexpr std::ptrdiff_t SteamClient012 = 0x670950;
|
||||
constexpr std::ptrdiff_t SteamClient013 = 0x670960;
|
||||
constexpr std::ptrdiff_t SteamClient014 = 0x670970;
|
||||
constexpr std::ptrdiff_t SteamClient015 = 0x670980;
|
||||
constexpr std::ptrdiff_t SteamClient016 = 0x670990;
|
||||
constexpr std::ptrdiff_t SteamClient017 = 0x6709A0;
|
||||
constexpr std::ptrdiff_t SteamClient018 = 0x6709B0;
|
||||
constexpr std::ptrdiff_t SteamClient019 = 0x6709C0;
|
||||
constexpr std::ptrdiff_t SteamClient020 = 0x6709D0;
|
||||
constexpr std::ptrdiff_t SteamClient021 = 0x6709E0;
|
||||
constexpr std::ptrdiff_t p2pvoice002 = 0xDA1A0;
|
||||
constexpr std::ptrdiff_t p2pvoicesingleton002 = 0xD6C00;
|
||||
}
|
||||
// Module: tier0.dll
|
||||
namespace tier0_dll {
|
||||
|
@ -237,8 +237,8 @@ namespace cs2_dumper {
|
|||
}
|
||||
// Module: vstdlib_s64.dll
|
||||
namespace vstdlib_s64_dll {
|
||||
constexpr std::ptrdiff_t IVALIDATE001 = 0x26B40;
|
||||
constexpr std::ptrdiff_t VEngineCvar002 = 0x6060;
|
||||
constexpr std::ptrdiff_t IVALIDATE001 = 0x25140;
|
||||
constexpr std::ptrdiff_t VEngineCvar002 = 0x5760;
|
||||
}
|
||||
// Module: worldrenderer.dll
|
||||
namespace worldrenderer_dll {
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
"AnimationSystem_001": 477424
|
||||
},
|
||||
"client.dll": {
|
||||
"ClientToolsInfo_001": 7628480,
|
||||
"ClientToolsInfo_001": 7628464,
|
||||
"EmptyWorldService001_Client": 4726336,
|
||||
"GameClientExports001": 7628496,
|
||||
"LegacyGameUI001": 9301728,
|
||||
"Source2Client002": 7628512,
|
||||
"GameClientExports001": 7628480,
|
||||
"LegacyGameUI001": 9300720,
|
||||
"Source2Client002": 7628496,
|
||||
"Source2ClientConfig001": 4608576,
|
||||
"Source2ClientPrediction001": 8165776,
|
||||
"Source2ClientUI001": 9197488
|
||||
"Source2ClientPrediction001": 8165760,
|
||||
"Source2ClientUI001": 9196480
|
||||
},
|
||||
"engine2.dll": {
|
||||
"BenchmarkService001": 1590736,
|
||||
|
@ -132,12 +132,12 @@
|
|||
"server.dll": {
|
||||
"EmptyWorldService001_Server": 5655872,
|
||||
"EntitySubclassUtilsV001": 2872080,
|
||||
"NavGameTest001": 10842192,
|
||||
"ServerToolsInfo_001": 8687792,
|
||||
"Source2GameClients001": 8687808,
|
||||
"NavGameTest001": 10842176,
|
||||
"ServerToolsInfo_001": 8687776,
|
||||
"Source2GameClients001": 8687792,
|
||||
"Source2GameDirector001": 1196848,
|
||||
"Source2GameEntities001": 8687824,
|
||||
"Source2Server001": 8687840,
|
||||
"Source2GameEntities001": 8687808,
|
||||
"Source2Server001": 8687824,
|
||||
"Source2ServerConfig001": 5569120,
|
||||
"customnavsystem001": 2276960
|
||||
},
|
||||
|
@ -151,26 +151,26 @@
|
|||
"SteamAudio001": 412272
|
||||
},
|
||||
"steamclient64.dll": {
|
||||
"CLIENTENGINE_INTERFACE_VERSION005": 9079728,
|
||||
"IVALIDATE001": 9097264,
|
||||
"SteamClient006": 6895232,
|
||||
"SteamClient007": 6895248,
|
||||
"SteamClient008": 6895264,
|
||||
"SteamClient009": 6895280,
|
||||
"SteamClient010": 6895296,
|
||||
"SteamClient011": 6895312,
|
||||
"SteamClient012": 6895328,
|
||||
"SteamClient013": 6895344,
|
||||
"SteamClient014": 6895360,
|
||||
"SteamClient015": 6895376,
|
||||
"SteamClient016": 6895392,
|
||||
"SteamClient017": 6895408,
|
||||
"SteamClient018": 6895424,
|
||||
"SteamClient019": 6895440,
|
||||
"SteamClient020": 6895456,
|
||||
"SteamClient021": 6895472,
|
||||
"p2pvoice002": 895392,
|
||||
"p2pvoicesingleton002": 881328
|
||||
"CLIENTENGINE_INTERFACE_VERSION005": 8858576,
|
||||
"IVALIDATE001": 8875296,
|
||||
"SteamClient006": 6752496,
|
||||
"SteamClient007": 6752512,
|
||||
"SteamClient008": 6752528,
|
||||
"SteamClient009": 6752544,
|
||||
"SteamClient010": 6752560,
|
||||
"SteamClient011": 6752576,
|
||||
"SteamClient012": 6752592,
|
||||
"SteamClient013": 6752608,
|
||||
"SteamClient014": 6752624,
|
||||
"SteamClient015": 6752640,
|
||||
"SteamClient016": 6752656,
|
||||
"SteamClient017": 6752672,
|
||||
"SteamClient018": 6752688,
|
||||
"SteamClient019": 6752704,
|
||||
"SteamClient020": 6752720,
|
||||
"SteamClient021": 6752736,
|
||||
"p2pvoice002": 893344,
|
||||
"p2pvoicesingleton002": 879616
|
||||
},
|
||||
"tier0.dll": {
|
||||
"TestScriptMgr001": 1350640,
|
||||
|
@ -195,8 +195,8 @@
|
|||
"VScriptManager010": 205328
|
||||
},
|
||||
"vstdlib_s64.dll": {
|
||||
"IVALIDATE001": 158528,
|
||||
"VEngineCvar002": 24672
|
||||
"IVALIDATE001": 151872,
|
||||
"VEngineCvar002": 22368
|
||||
},
|
||||
"worldrenderer.dll": {
|
||||
"WorldRendererMgr001": 143312
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, unused)]
|
||||
|
||||
|
@ -12,14 +12,14 @@ pub mod cs2_dumper {
|
|||
}
|
||||
// Module: client.dll
|
||||
pub mod client_dll {
|
||||
pub const ClientToolsInfo_001: usize = 0x7466C0;
|
||||
pub const ClientToolsInfo_001: usize = 0x7466B0;
|
||||
pub const EmptyWorldService001_Client: usize = 0x481E40;
|
||||
pub const GameClientExports001: usize = 0x7466D0;
|
||||
pub const LegacyGameUI001: usize = 0x8DEEE0;
|
||||
pub const Source2Client002: usize = 0x7466E0;
|
||||
pub const GameClientExports001: usize = 0x7466C0;
|
||||
pub const LegacyGameUI001: usize = 0x8DEAF0;
|
||||
pub const Source2Client002: usize = 0x7466D0;
|
||||
pub const Source2ClientConfig001: usize = 0x465240;
|
||||
pub const Source2ClientPrediction001: usize = 0x7C9990;
|
||||
pub const Source2ClientUI001: usize = 0x8C57B0;
|
||||
pub const Source2ClientPrediction001: usize = 0x7C9980;
|
||||
pub const Source2ClientUI001: usize = 0x8C53C0;
|
||||
}
|
||||
// Module: engine2.dll
|
||||
pub mod engine2_dll {
|
||||
|
@ -162,12 +162,12 @@ pub mod cs2_dumper {
|
|||
pub mod server_dll {
|
||||
pub const EmptyWorldService001_Server: usize = 0x564D40;
|
||||
pub const EntitySubclassUtilsV001: usize = 0x2BD310;
|
||||
pub const NavGameTest001: usize = 0xA57050;
|
||||
pub const ServerToolsInfo_001: usize = 0x8490B0;
|
||||
pub const Source2GameClients001: usize = 0x8490C0;
|
||||
pub const NavGameTest001: usize = 0xA57040;
|
||||
pub const ServerToolsInfo_001: usize = 0x8490A0;
|
||||
pub const Source2GameClients001: usize = 0x8490B0;
|
||||
pub const Source2GameDirector001: usize = 0x124330;
|
||||
pub const Source2GameEntities001: usize = 0x8490D0;
|
||||
pub const Source2Server001: usize = 0x8490E0;
|
||||
pub const Source2GameEntities001: usize = 0x8490C0;
|
||||
pub const Source2Server001: usize = 0x8490D0;
|
||||
pub const Source2ServerConfig001: usize = 0x54FA60;
|
||||
pub const customnavsystem001: usize = 0x22BE60;
|
||||
}
|
||||
|
@ -184,26 +184,26 @@ pub mod cs2_dumper {
|
|||
}
|
||||
// Module: steamclient64.dll
|
||||
pub mod steamclient64_dll {
|
||||
pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x8A8BB0;
|
||||
pub const IVALIDATE001: usize = 0x8AD030;
|
||||
pub const SteamClient006: usize = 0x693680;
|
||||
pub const SteamClient007: usize = 0x693690;
|
||||
pub const SteamClient008: usize = 0x6936A0;
|
||||
pub const SteamClient009: usize = 0x6936B0;
|
||||
pub const SteamClient010: usize = 0x6936C0;
|
||||
pub const SteamClient011: usize = 0x6936D0;
|
||||
pub const SteamClient012: usize = 0x6936E0;
|
||||
pub const SteamClient013: usize = 0x6936F0;
|
||||
pub const SteamClient014: usize = 0x693700;
|
||||
pub const SteamClient015: usize = 0x693710;
|
||||
pub const SteamClient016: usize = 0x693720;
|
||||
pub const SteamClient017: usize = 0x693730;
|
||||
pub const SteamClient018: usize = 0x693740;
|
||||
pub const SteamClient019: usize = 0x693750;
|
||||
pub const SteamClient020: usize = 0x693760;
|
||||
pub const SteamClient021: usize = 0x693770;
|
||||
pub const p2pvoice002: usize = 0xDA9A0;
|
||||
pub const p2pvoicesingleton002: usize = 0xD72B0;
|
||||
pub const CLIENTENGINE_INTERFACE_VERSION005: usize = 0x872BD0;
|
||||
pub const IVALIDATE001: usize = 0x876D20;
|
||||
pub const SteamClient006: usize = 0x6708F0;
|
||||
pub const SteamClient007: usize = 0x670900;
|
||||
pub const SteamClient008: usize = 0x670910;
|
||||
pub const SteamClient009: usize = 0x670920;
|
||||
pub const SteamClient010: usize = 0x670930;
|
||||
pub const SteamClient011: usize = 0x670940;
|
||||
pub const SteamClient012: usize = 0x670950;
|
||||
pub const SteamClient013: usize = 0x670960;
|
||||
pub const SteamClient014: usize = 0x670970;
|
||||
pub const SteamClient015: usize = 0x670980;
|
||||
pub const SteamClient016: usize = 0x670990;
|
||||
pub const SteamClient017: usize = 0x6709A0;
|
||||
pub const SteamClient018: usize = 0x6709B0;
|
||||
pub const SteamClient019: usize = 0x6709C0;
|
||||
pub const SteamClient020: usize = 0x6709D0;
|
||||
pub const SteamClient021: usize = 0x6709E0;
|
||||
pub const p2pvoice002: usize = 0xDA1A0;
|
||||
pub const p2pvoicesingleton002: usize = 0xD6C00;
|
||||
}
|
||||
// Module: tier0.dll
|
||||
pub mod tier0_dll {
|
||||
|
@ -235,8 +235,8 @@ pub mod cs2_dumper {
|
|||
}
|
||||
// Module: vstdlib_s64.dll
|
||||
pub mod vstdlib_s64_dll {
|
||||
pub const IVALIDATE001: usize = 0x26B40;
|
||||
pub const VEngineCvar002: usize = 0x6060;
|
||||
pub const IVALIDATE001: usize = 0x25140;
|
||||
pub const VEngineCvar002: usize = 0x5760;
|
||||
}
|
||||
// Module: worldrenderer.dll
|
||||
pub mod worldrenderer_dll {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: materialsystem2.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: networksystem.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Offsets {
|
||||
// Module: client.dll
|
||||
public static class ClientDll {
|
||||
public const nint dwCSGOInput = 0x1A1E430;
|
||||
public const nint dwCSGOInput = 0x1A1E1B0;
|
||||
public const nint dwEntityList = 0x19B49B8;
|
||||
public const nint dwGameEntitySystem = 0x1AD3888;
|
||||
public const nint dwGameEntitySystem = 0x1AD38C8;
|
||||
public const nint dwGameEntitySystem_highestEntityIndex = 0x1510;
|
||||
public const nint dwGameRules = 0x1A12408;
|
||||
public const nint dwGlobalVars = 0x180E510;
|
||||
public const nint dwGlowManager = 0x1A11B20;
|
||||
public const nint dwGameRules = 0x1A12418;
|
||||
public const nint dwGlobalVars = 0x180E4E0;
|
||||
public const nint dwGlowManager = 0x1A11B30;
|
||||
public const nint dwLocalPlayerController = 0x1A04768;
|
||||
public const nint dwLocalPlayerPawn = 0x181A9C8;
|
||||
public const nint dwPlantedC4 = 0x1A1B7A8;
|
||||
public const nint dwPrediction = 0x181A880;
|
||||
public const nint dwSensitivity = 0x1A13248;
|
||||
public const nint dwLocalPlayerPawn = 0x181A998;
|
||||
public const nint dwPlantedC4 = 0x1A1B528;
|
||||
public const nint dwPrediction = 0x181A850;
|
||||
public const nint dwSensitivity = 0x1A13258;
|
||||
public const nint dwSensitivity_sensitivity = 0x40;
|
||||
public const nint dwViewAngles = 0x1A23848;
|
||||
public const nint dwViewMatrix = 0x1A16A60;
|
||||
public const nint dwViewRender = 0x1A17378;
|
||||
public const nint dwViewAngles = 0x1A235C8;
|
||||
public const nint dwViewMatrix = 0x1A16A70;
|
||||
public const nint dwViewRender = 0x1A17388;
|
||||
public const nint dwWeaponC4 = 0x19B86F0;
|
||||
}
|
||||
// Module: engine2.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
@ -9,22 +9,22 @@ namespace cs2_dumper {
|
|||
namespace offsets {
|
||||
// Module: client.dll
|
||||
namespace client_dll {
|
||||
constexpr std::ptrdiff_t dwCSGOInput = 0x1A1E430;
|
||||
constexpr std::ptrdiff_t dwCSGOInput = 0x1A1E1B0;
|
||||
constexpr std::ptrdiff_t dwEntityList = 0x19B49B8;
|
||||
constexpr std::ptrdiff_t dwGameEntitySystem = 0x1AD3888;
|
||||
constexpr std::ptrdiff_t dwGameEntitySystem = 0x1AD38C8;
|
||||
constexpr std::ptrdiff_t dwGameEntitySystem_highestEntityIndex = 0x1510;
|
||||
constexpr std::ptrdiff_t dwGameRules = 0x1A12408;
|
||||
constexpr std::ptrdiff_t dwGlobalVars = 0x180E510;
|
||||
constexpr std::ptrdiff_t dwGlowManager = 0x1A11B20;
|
||||
constexpr std::ptrdiff_t dwGameRules = 0x1A12418;
|
||||
constexpr std::ptrdiff_t dwGlobalVars = 0x180E4E0;
|
||||
constexpr std::ptrdiff_t dwGlowManager = 0x1A11B30;
|
||||
constexpr std::ptrdiff_t dwLocalPlayerController = 0x1A04768;
|
||||
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x181A9C8;
|
||||
constexpr std::ptrdiff_t dwPlantedC4 = 0x1A1B7A8;
|
||||
constexpr std::ptrdiff_t dwPrediction = 0x181A880;
|
||||
constexpr std::ptrdiff_t dwSensitivity = 0x1A13248;
|
||||
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x181A998;
|
||||
constexpr std::ptrdiff_t dwPlantedC4 = 0x1A1B528;
|
||||
constexpr std::ptrdiff_t dwPrediction = 0x181A850;
|
||||
constexpr std::ptrdiff_t dwSensitivity = 0x1A13258;
|
||||
constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40;
|
||||
constexpr std::ptrdiff_t dwViewAngles = 0x1A23848;
|
||||
constexpr std::ptrdiff_t dwViewMatrix = 0x1A16A60;
|
||||
constexpr std::ptrdiff_t dwViewRender = 0x1A17378;
|
||||
constexpr std::ptrdiff_t dwViewAngles = 0x1A235C8;
|
||||
constexpr std::ptrdiff_t dwViewMatrix = 0x1A16A70;
|
||||
constexpr std::ptrdiff_t dwViewRender = 0x1A17388;
|
||||
constexpr std::ptrdiff_t dwWeaponC4 = 0x19B86F0;
|
||||
}
|
||||
// Module: engine2.dll
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
{
|
||||
"client.dll": {
|
||||
"dwCSGOInput": 27386928,
|
||||
"dwCSGOInput": 27386288,
|
||||
"dwEntityList": 26954168,
|
||||
"dwGameEntitySystem": 28129416,
|
||||
"dwGameEntitySystem": 28129480,
|
||||
"dwGameEntitySystem_highestEntityIndex": 5392,
|
||||
"dwGameRules": 27337736,
|
||||
"dwGlobalVars": 25224464,
|
||||
"dwGlowManager": 27335456,
|
||||
"dwGameRules": 27337752,
|
||||
"dwGlobalVars": 25224416,
|
||||
"dwGlowManager": 27335472,
|
||||
"dwLocalPlayerController": 27281256,
|
||||
"dwLocalPlayerPawn": 25274824,
|
||||
"dwPlantedC4": 27375528,
|
||||
"dwPrediction": 25274496,
|
||||
"dwSensitivity": 27341384,
|
||||
"dwLocalPlayerPawn": 25274776,
|
||||
"dwPlantedC4": 27374888,
|
||||
"dwPrediction": 25274448,
|
||||
"dwSensitivity": 27341400,
|
||||
"dwSensitivity_sensitivity": 64,
|
||||
"dwViewAngles": 27408456,
|
||||
"dwViewMatrix": 27355744,
|
||||
"dwViewRender": 27358072,
|
||||
"dwViewAngles": 27407816,
|
||||
"dwViewMatrix": 27355760,
|
||||
"dwViewRender": 27358088,
|
||||
"dwWeaponC4": 26969840
|
||||
},
|
||||
"engine2.dll": {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, unused)]
|
||||
|
||||
|
@ -7,22 +7,22 @@ pub mod cs2_dumper {
|
|||
pub mod offsets {
|
||||
// Module: client.dll
|
||||
pub mod client_dll {
|
||||
pub const dwCSGOInput: usize = 0x1A1E430;
|
||||
pub const dwCSGOInput: usize = 0x1A1E1B0;
|
||||
pub const dwEntityList: usize = 0x19B49B8;
|
||||
pub const dwGameEntitySystem: usize = 0x1AD3888;
|
||||
pub const dwGameEntitySystem: usize = 0x1AD38C8;
|
||||
pub const dwGameEntitySystem_highestEntityIndex: usize = 0x1510;
|
||||
pub const dwGameRules: usize = 0x1A12408;
|
||||
pub const dwGlobalVars: usize = 0x180E510;
|
||||
pub const dwGlowManager: usize = 0x1A11B20;
|
||||
pub const dwGameRules: usize = 0x1A12418;
|
||||
pub const dwGlobalVars: usize = 0x180E4E0;
|
||||
pub const dwGlowManager: usize = 0x1A11B30;
|
||||
pub const dwLocalPlayerController: usize = 0x1A04768;
|
||||
pub const dwLocalPlayerPawn: usize = 0x181A9C8;
|
||||
pub const dwPlantedC4: usize = 0x1A1B7A8;
|
||||
pub const dwPrediction: usize = 0x181A880;
|
||||
pub const dwSensitivity: usize = 0x1A13248;
|
||||
pub const dwLocalPlayerPawn: usize = 0x181A998;
|
||||
pub const dwPlantedC4: usize = 0x1A1B528;
|
||||
pub const dwPrediction: usize = 0x181A850;
|
||||
pub const dwSensitivity: usize = 0x1A13258;
|
||||
pub const dwSensitivity_sensitivity: usize = 0x40;
|
||||
pub const dwViewAngles: usize = 0x1A23848;
|
||||
pub const dwViewMatrix: usize = 0x1A16A60;
|
||||
pub const dwViewRender: usize = 0x1A17378;
|
||||
pub const dwViewAngles: usize = 0x1A235C8;
|
||||
pub const dwViewMatrix: usize = 0x1A16A70;
|
||||
pub const dwViewRender: usize = 0x1A17388;
|
||||
pub const dwWeaponC4: usize = 0x19B86F0;
|
||||
}
|
||||
// Module: engine2.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: panorama.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: particles.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: pulse_system.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: rendersystemdx11.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: resourcesystem.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: scenesystem.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: schemasystem.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: server.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: soundsystem.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: vphysics2.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
namespace CS2Dumper.Schemas {
|
||||
// Module: worldrenderer.dll
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#pragma once
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Generated using https://github.com/a2x/cs2-dumper
|
||||
// 2024-06-18 02:29:36.184201900 UTC
|
||||
// 2024-06-14 04:06:49.525200800 UTC
|
||||
|
||||
#![allow(non_upper_case_globals, non_camel_case_types, non_snake_case, unused)]
|
||||
|
||||
|
|
|
@ -148,167 +148,3 @@ pub fn offsets(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<OffsetMap>
|
|||
|
||||
Ok(map)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::fs;
|
||||
|
||||
use serde_json::Value;
|
||||
|
||||
use super::*;
|
||||
|
||||
fn setup() -> Result<IntoProcessInstanceArcBox<'static>> {
|
||||
let os = memflow_native::create_os(&OsArgs::default(), LibArc::default())?;
|
||||
|
||||
let process = os.into_process_by_name("cs2.exe")?;
|
||||
|
||||
Ok(process)
|
||||
}
|
||||
|
||||
fn get_class_field_value(module_name: &str, class_name: &str, field_name: &str) -> Option<u64> {
|
||||
let content = fs::read_to_string(format!("output/{}.json", module_name)).ok()?;
|
||||
let value: Value = serde_json::from_str(&content).ok()?;
|
||||
|
||||
value
|
||||
.get(module_name)?
|
||||
.get("classes")?
|
||||
.get(class_name)?
|
||||
.get("fields")?
|
||||
.get(field_name)?
|
||||
.as_u64()
|
||||
}
|
||||
|
||||
fn get_offset_value(module_name: &str, offset_name: &str) -> Option<u64> {
|
||||
let content = fs::read_to_string("output/offsets.json").ok()?;
|
||||
let value: Value = serde_json::from_str(&content).ok()?;
|
||||
|
||||
let offset = value.get(module_name)?.get(offset_name)?;
|
||||
|
||||
offset.as_u64()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn build_number() -> Result<()> {
|
||||
let mut process = setup()?;
|
||||
|
||||
let engine_base = process.module_by_name("engine2.dll")?.base;
|
||||
|
||||
let offset = get_offset_value("engine2.dll", "dwBuildNumber").unwrap();
|
||||
|
||||
let build_number: u32 = process.read(engine_base + offset).data_part()?;
|
||||
|
||||
println!("build number: {}", build_number);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn global_vars() -> Result<()> {
|
||||
let mut process = setup()?;
|
||||
|
||||
let client_base = process.module_by_name("client.dll")?.base;
|
||||
|
||||
let offset = get_offset_value("client.dll", "dwGlobalVars").unwrap();
|
||||
|
||||
let global_vars: u64 = process.read(client_base + offset).data_part()?;
|
||||
|
||||
let cur_map_name = {
|
||||
let addr = process
|
||||
.read_addr64((global_vars + 0x1B8).into())
|
||||
.data_part()?;
|
||||
|
||||
process.read_char_string(addr).data_part()?
|
||||
};
|
||||
|
||||
println!("current map name: {}", cur_map_name);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn local_player_controller() -> Result<()> {
|
||||
let mut process = setup()?;
|
||||
|
||||
let client_base = process.module_by_name("client.dll")?.base;
|
||||
|
||||
let local_player_controller_offset =
|
||||
get_offset_value("client.dll", "dwLocalPlayerController").unwrap();
|
||||
|
||||
let player_name_offset =
|
||||
get_class_field_value("client.dll", "CBasePlayerController", "m_iszPlayerName")
|
||||
.unwrap();
|
||||
|
||||
let local_player_controller: u64 = process
|
||||
.read(client_base + local_player_controller_offset)
|
||||
.data_part()?;
|
||||
|
||||
let player_name = process
|
||||
.read_char_string((local_player_controller + player_name_offset).into())
|
||||
.data_part()?;
|
||||
|
||||
println!("local player name: {}", player_name);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn local_player_pawn() -> Result<()> {
|
||||
#[derive(Debug, Pod)]
|
||||
#[repr(C)]
|
||||
struct Vector3D {
|
||||
x: f32,
|
||||
y: f32,
|
||||
z: f32,
|
||||
}
|
||||
|
||||
let mut process = setup()?;
|
||||
|
||||
let client_base = process.module_by_name("client.dll")?.base;
|
||||
|
||||
let local_player_pawn_offset = get_offset_value("client.dll", "dwLocalPlayerPawn").unwrap();
|
||||
|
||||
let game_scene_node_offset =
|
||||
get_class_field_value("client.dll", "C_BaseEntity", "m_pGameSceneNode").unwrap();
|
||||
|
||||
let vec_abs_origin_offset =
|
||||
get_class_field_value("client.dll", "CGameSceneNode", "m_vecAbsOrigin").unwrap();
|
||||
|
||||
let local_player_pawn: u64 = process
|
||||
.read(client_base + local_player_pawn_offset)
|
||||
.data_part()?;
|
||||
|
||||
let game_scene_node: u64 = process
|
||||
.read((local_player_pawn + game_scene_node_offset).into())
|
||||
.data_part()?;
|
||||
|
||||
let vec_abs_origin: Vector3D = process
|
||||
.read((game_scene_node + vec_abs_origin_offset).into())
|
||||
.data_part()?;
|
||||
|
||||
println!("local player origin: {:?}", vec_abs_origin);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn window_size() -> Result<()> {
|
||||
let mut process = setup()?;
|
||||
|
||||
let engine_base = process.module_by_name("engine2.dll")?.base;
|
||||
|
||||
let window_width_offset = get_offset_value("engine2.dll", "dwWindowWidth").unwrap();
|
||||
let window_height_offset = get_offset_value("engine2.dll", "dwWindowHeight").unwrap();
|
||||
|
||||
let window_width: u32 = process
|
||||
.read(engine_base + window_width_offset)
|
||||
.data_part()?;
|
||||
|
||||
let window_height: u32 = process
|
||||
.read(engine_base + window_height_offset)
|
||||
.data_part()?;
|
||||
|
||||
println!("window size: {}x{}", window_width, window_height);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -144,7 +144,7 @@ fn read_class_binding_fields(
|
|||
return Ok(Vec::new());
|
||||
}
|
||||
|
||||
(0..binding.fields_count).try_fold(Vec::new(), |mut acc, i| {
|
||||
(0..binding.field_count).try_fold(Vec::new(), |mut acc, i| {
|
||||
let field = binding.fields.at(i as _).read(process)?;
|
||||
|
||||
if field.schema_type.is_null() {
|
||||
|
@ -178,12 +178,12 @@ fn read_class_binding_metadata(
|
|||
(0..binding.static_metadata_count).try_fold(Vec::new(), |mut acc, i| {
|
||||
let metadata = binding.static_metadata.at(i as _).read(process)?;
|
||||
|
||||
if metadata.network_value.is_null() {
|
||||
if metadata.data.is_null() {
|
||||
return Ok(acc);
|
||||
}
|
||||
|
||||
let name = metadata.name.read_string(process)?.to_string();
|
||||
let network_value = metadata.network_value.read(process)?;
|
||||
let network_value = metadata.data.read(process)?;
|
||||
|
||||
let metadata = match name.as_str() {
|
||||
"MNetworkChangeCallback" => unsafe {
|
||||
|
@ -229,14 +229,14 @@ fn read_enum_binding(
|
|||
"found enum: {} @ {:#X} (alignment: {}) (members count: {})",
|
||||
name,
|
||||
binding_ptr.to_umem(),
|
||||
binding.align_of,
|
||||
binding.alignment,
|
||||
binding.size,
|
||||
);
|
||||
|
||||
Ok(Enum {
|
||||
name,
|
||||
alignment: binding.align_of,
|
||||
size: binding.enumerators_count,
|
||||
alignment: binding.alignment,
|
||||
size: binding.enumerator_count,
|
||||
members,
|
||||
})
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ fn read_enum_binding_members(
|
|||
return Ok(Vec::new());
|
||||
}
|
||||
|
||||
(0..binding.enumerators_count).try_fold(Vec::new(), |mut acc, i| {
|
||||
(0..binding.enumerator_count).try_fold(Vec::new(), |mut acc, i| {
|
||||
let enumerator = binding.enumerators.at(i as _).read(process)?;
|
||||
let name = enumerator.name.read_string(process)?.to_string();
|
||||
|
||||
|
@ -270,10 +270,10 @@ fn read_schema_system(process: &mut IntoProcessInstanceArcBox<'_>) -> Result<Sch
|
|||
|
||||
let mut save = [0; 2];
|
||||
|
||||
if !view
|
||||
.scanner()
|
||||
.finds_code(pattern!("4c8d35${'} 0f2845"), &mut save)
|
||||
{
|
||||
if !view.scanner().finds_code(
|
||||
pattern!("488905${'} 4c8d0d${} 0fb645? 4c8d45? 33f6"),
|
||||
&mut save,
|
||||
) {
|
||||
return Err(Error::Other("unable to find schema system pattern"));
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ use log::{info, Level};
|
|||
|
||||
use memflow::prelude::v1::*;
|
||||
|
||||
use simplelog::{ColorChoice, Config, TermLogger, TerminalMode};
|
||||
use simplelog::{ColorChoice, TermLogger};
|
||||
|
||||
use error::Result;
|
||||
use output::Output;
|
||||
|
@ -65,8 +65,8 @@ fn main() -> Result<()> {
|
|||
|
||||
TermLogger::init(
|
||||
log_level.to_level_filter(),
|
||||
Config::default(),
|
||||
TerminalMode::Mixed,
|
||||
Default::default(),
|
||||
Default::default(),
|
||||
ColorChoice::Auto,
|
||||
)
|
||||
.unwrap();
|
||||
|
@ -93,7 +93,6 @@ fn main() -> Result<()> {
|
|||
let mut process = os.into_process_by_name(&args.process_name)?;
|
||||
|
||||
let result = analysis::analyze_all(&mut process)?;
|
||||
|
||||
let output = Output::new(&args.file_types, args.indent_size, &args.output, &result)?;
|
||||
|
||||
output.dump_all(&mut process)?;
|
||||
|
|
|
@ -5,9 +5,9 @@ use super::{SchemaMetadataEntryData, SchemaType};
|
|||
#[derive(Pod)]
|
||||
#[repr(C)]
|
||||
pub struct SchemaClassFieldData {
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub schema_type: Pointer64<SchemaType>, // 0x0008
|
||||
pub single_inheritance_offset: i32, // 0x0010
|
||||
pub metadata_count: i32, // 0x0014
|
||||
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub schema_type: Pointer64<SchemaType>, // 0x0008
|
||||
pub single_inheritance_offset: i32, // 0x0010
|
||||
pub static_metadata_count: i32, // 0x0014
|
||||
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
|
||||
}
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
use memflow::prelude::v1::*;
|
||||
|
||||
use super::{
|
||||
SchemaBaseClassInfoData, SchemaClassFieldData, SchemaMetadataEntryData, SchemaStaticFieldData,
|
||||
SchemaSystemTypeScope, SchemaType,
|
||||
};
|
||||
use super::*;
|
||||
|
||||
pub type SchemaClassBinding = SchemaClassInfoData;
|
||||
|
||||
|
@ -15,13 +12,13 @@ pub struct SchemaClassInfoData {
|
|||
pub name: Pointer64<ReprCString>, // 0x0008
|
||||
pub module_name: Pointer64<ReprCString>, // 0x0010
|
||||
pub size: i32, // 0x0018
|
||||
pub fields_count: i16, // 0x001C
|
||||
pub static_fields_count: i16, // 0x001E
|
||||
pub static_metadata_count: i16, // 0x0020
|
||||
pub align_of: u8, // 0x0022
|
||||
pub has_base_class: u8, // 0x0023
|
||||
pub total_class_size: i16, // 0x0024
|
||||
pub derived_class_size: i16, // 0x0026
|
||||
pub field_count: u16, // 0x001C
|
||||
pub static_field_count: u16, // 0x001E
|
||||
pub static_metadata_count: u16, // 0x0020
|
||||
pub alignment: u8, // 0x0022
|
||||
pub base_class_count: u8, // 0x0023
|
||||
pub multiple_inheritance_depth: u16, // 0x0024
|
||||
pub single_inheritance_depth: u16, // 0x0026
|
||||
pub fields: Pointer64<[SchemaClassFieldData]>, // 0x0028
|
||||
pub static_fields: Pointer64<[SchemaStaticFieldData]>, // 0x0030
|
||||
pub base_classes: Pointer64<SchemaBaseClassInfoData>, // 0x0038
|
||||
|
|
|
@ -12,9 +12,9 @@ pub struct SchemaEnumInfoData {
|
|||
pub name: Pointer64<ReprCString>, // 0x0008
|
||||
pub module_name: Pointer64<ReprCString>, // 0x0010
|
||||
pub size: u8, // 0x0018
|
||||
pub align_of: u8, // 0x0019
|
||||
pad_001a: [u8; 0x2], // 0x001A
|
||||
pub enumerators_count: u16, // 0x001C
|
||||
pub alignment: u8, // 0x0019
|
||||
pub flags: u16, // 0x001A
|
||||
pub enumerator_count: u16, // 0x001C
|
||||
pub static_metadata_count: u16, // 0x001E
|
||||
pub enumerators: Pointer64<[SchemaEnumeratorInfoData]>, // 0x0020
|
||||
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0028
|
||||
|
|
|
@ -5,11 +5,11 @@ use super::SchemaMetadataEntryData;
|
|||
#[derive(Pod)]
|
||||
#[repr(C)]
|
||||
pub struct SchemaEnumeratorInfoData {
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub value: SchemaEnumeratorInfoDataUnion, // 0x0008
|
||||
pub metadata_count: i32, // 0x0010
|
||||
pad_0014: [u8; 0x4], // 0x0014
|
||||
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub value: SchemaEnumeratorInfoDataUnion, // 0x0008
|
||||
pub static_metadata_count: i32, // 0x0010
|
||||
pad_0014: [u8; 0x4], // 0x0014
|
||||
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0018
|
||||
}
|
||||
|
||||
#[repr(C)]
|
||||
|
|
|
@ -5,8 +5,8 @@ use memflow::prelude::v1::*;
|
|||
#[derive(Pod)]
|
||||
#[repr(C)]
|
||||
pub struct SchemaMetadataEntryData {
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub network_value: Pointer64<SchemaNetworkValue>, // 0x0008
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub data: Pointer64<SchemaNetworkValue>, // 0x0008
|
||||
}
|
||||
|
||||
#[derive(Pod)]
|
||||
|
|
|
@ -5,10 +5,10 @@ use super::{SchemaMetadataEntryData, SchemaType};
|
|||
#[derive(Pod)]
|
||||
#[repr(C)]
|
||||
pub struct SchemaStaticFieldData {
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub type_: Pointer64<SchemaType>, // 0x0008
|
||||
pub instance: Pointer64<()>, // 0x0010
|
||||
pub metadata_count: i32, // 0x0018
|
||||
pad_001c: [u8; 0x4], // 0x001C
|
||||
pub metadata: Pointer64<SchemaMetadataEntryData>, // 0x0020
|
||||
pub name: Pointer64<ReprCString>, // 0x0000
|
||||
pub type_: Pointer64<SchemaType>, // 0x0008
|
||||
pub instance: Pointer64<()>, // 0x0010
|
||||
pub static_metadata_count: i32, // 0x0018
|
||||
pad_001c: [u8; 0x4], // 0x001C
|
||||
pub static_metadata: Pointer64<SchemaMetadataEntryData>, // 0x0020
|
||||
}
|
||||
|
|
|
@ -10,6 +10,6 @@ pub struct SchemaSystem {
|
|||
pad_0000: [u8; 0x188], // 0x0000
|
||||
pub type_scopes: UtlVector<Pointer64<SchemaSystemTypeScope>>, // 0x0188
|
||||
pad_0198: [u8; 0x120], // 0x0198
|
||||
pub num_registrations: i32, // 0x02B8
|
||||
pub num_registrations: u32, // 0x02B8
|
||||
pad_02bc: [u8; 0xAC], // 0x02BC
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue