Skip to content

Commit

Permalink
Merge dev branch into main
Browse files Browse the repository at this point in the history
  • Loading branch information
a2x committed Mar 28, 2024
1 parent 755093f commit 889ef7d
Show file tree
Hide file tree
Showing 315 changed files with 552,027 additions and 333,795 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ insert_final_newline = true
trim_trailing_whitespace = true

[*.json]
indent_size = 2
indent_size = 2
4 changes: 1 addition & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
*.cs linguist-detectable=false
*.hpp linguist-detectable=false
*.json linguist-detectable=false
*.py linguist-detectable=false
*.rs linguist-detectable=true
*.yaml linguist-detectable=false
*.rs linguist-detectable=true
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.idea/
.vscode/
/.idea
/.vscode
/target
Cargo.lock
target/
36 changes: 16 additions & 20 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,37 +1,33 @@
[package]
name = "cs2-dumper"
version = "1.1.5"
version = "0.1.0"
authors = ["a2x"]
edition = "2021"
readme = "README.md"
repository = "https://github.com/a2x/cs2-dumper"
license = "MIT"

[dependencies]
anyhow = "1.0"
chrono = "0.4"
clap = { version = "4.4", features = ["derive"] }
goblin = { git = "https://github.com/m4b/goblin" }
lazy_static = "1.4"
bitflags = { version = "2.5", features = ["serde"] }
clap = { version = "4.5", features = ["cargo"] }
chrono = { version = "0.4", features = ["serde"] }
heck = "0.5"
log = "0.4"
regex = "1.10"
memflow = "0.2"
memflow-native = { git = "https://github.com/memflow/memflow-native" }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
simplelog = { version = "0.12", features = ["paris"] }
simplelog = "0.12"
skidscan = "2.0"
skidscan-macros = "0.1"
thiserror = "1.0"

[dependencies.windows]
version = "0.54"
features = [
"Win32_Foundation",
"Win32_System_Diagnostics_Debug",
"Win32_System_Diagnostics_ToolHelp",
"Win32_System_SystemInformation",
"Win32_System_SystemServices",
"Win32_System_Threading",
]
[profile.dev]
opt-level = 1

[target.'cfg(target_os = "linux")'.dependencies]
procfs = "0.16.0"
[profile.dev.package."*"]
opt-level = 3

[profile.release]
lto = true
strip = true
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
37 changes: 24 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,37 @@
# cs2-dumper

An external offset/interfaces dumper for Counter-Strike 2, written in Rust.
An external offset/interface dumper for Counter-Strike 2, with support for both Windows & Linux.

*Note:* New commits are being pushed regularly to the [dev](https://github.com/a2x/cs2-dumper/tree/dev) branch.
Powered by [memflow](https://github.com/memflow/memflow).

# Usage
## Getting Started

You can either download the latest release from [Releases](https://github.com/a2x/cs2-dumper/releases) or build it yourself. Note that building it yourself requires Rust's nightly toolchain.
You can download the latest release from [Releases](https://github.com/a2x/cs2-dumper/releases) or compile it yourself.
Note that compiling it yourself requires your Rust compiler version to be at least 1.74.0 or newer, and the nightly
toolchain must be installed.

If you want to see more detailed runtime messages, you can pass the `--verbose` flag.
## Usage

For a complete list of all available flags, use `--help`.
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 require elevated privileges).

# Generated Files
When running the executable without providing an optional memflow connector name, it will default to using the
memflow-native cross-platform OS layer to read the game's memory. However, any existing memflow connectors should work
out of the box.
Just pass the `connector` and optional `connector-args` arguments to the program.

By default, generated files are stored in the `generated` directory. However, this can be modified by specifying your desired directory using the `--output` flag.
E.g. `cs2-dumper.exe -c pcileech -a device=fpga -vvv`

📂 [Pre-generated Files](./generated)
### Available Arguments

# Running Tests
To run tests, use the following command: `cargo test -- --nocapture`.
- `-v...`: Increase logging verbosity. Can be specified multiple times.
- `-c, --connector <connector>`: The name of the memflow connector to use.
- `-a, --connector-args <connector-args>`: Additional arguments to supply to the connector.
- `-o, --output <output>`: The output directory to write the generated files to. Default: `output`.
- `-i, --indent-size <indent-size>`: The number of spaces to use per indentation level. Default: `4`.
- `-h, --help`: Print help.
- `-V, --version`: Print version.

# License
## License

Please refer to the [LICENSE](./LICENSE) file for more details.
Licensed under the MIT license ([LICENSE](./LICENSE)).
Loading

0 comments on commit 889ef7d

Please sign in to comment.