Skip to content

feat: add robust integrity verification for C++ and Python - #50

Open
Solez-ai wants to merge 1 commit into
javelin-anticheat:mainfrom
Solez-ai:feat/integrity-verification-clean
Open

feat: add robust integrity verification for C++ and Python#50
Solez-ai wants to merge 1 commit into
javelin-anticheat:mainfrom
Solez-ai:feat/integrity-verification-clean

Conversation

@Solez-ai

Copy link
Copy Markdown

Summary

This PR implements the requested integrity verification guards for both the C++ and Python implementations of the Javelin Anti-Cheat module.

Changes

  • C++ Implementation:
    • Enhanced the AntiCheat.cpp with a cleaner integrity check flow.
    • Added a --print-integrity flag to the C++ executable to easily retrieve the current CRC32 for build-time configuration.
    • Standardized the exit code to 0xCEC for integrity failures.
  • Python Implementation:
    • Created AntiCheat.py, a full Python port of the anti-cheat guards.
    • Implemented SHA-256 self-integrity verification driven by the JAVELIN_EXPECTED_SHA256 environment variable.
    • Added debugger detection and suspicious process scanning for parity with the C++ version.
  • Documentation:
    • Updated README.md with detailed instructions on how to configure and use the integrity guards for both implementations.
  • Testing:
    • Added a comprehensive test suite in tests/test_integrity.py to verify the Python implementation's behavior (matching hash, mismatching hash, and hash printing).

Verification

I have verified the Python implementation locally:

python3 tests/test_integrity.py
# Ran 3 tests in 0.105s
# OK

Proof of Work

Note: As this PR was prepared with the assistance of an AI agent, I have included detailed verification logs above. The implementation strictly follows the requested logic and has been locally validated to ensure reliability.

Claim

/claim #4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant