LogoLogo
  • Welcome to Cyphor
  • .NET Code Obfuscation
    • Getting Started
    • How to Obfuscate
    • Basic Code Obfuscation
      • Symbol Renaming
      • Body Mutation
      • Control Flow
      • Constant Encryption
      • Call Hiding
      • Debug Protection
      • Integrity Checks
      • Self Healing
    • Advanced Obfuscation
      • Attribute-Based Obfuscation
      • Guide to obfuscation
      • Code Inlining
      • What is RASP?
      • Protections that protect each other
      • Program not working after obfuscation
      • Keeping performance with obfuscation
      • Virtualization
  • Dashboard
    • Files
    • Billing
      • Pay as you go
      • Examples
    • Projects
      • Code Guard Tasks
      • Permissions
        • Roles
      • Files
      • SAML and SSO
  • Code Guard
    • Introduction
    • Implement with your licensing system
      • Setting up a gateway
      • Setting up the SDK
    • Secured values
      • Dynamic values
      • Code Encryption
        • Page 1
    • Preventing analysis
    • Enhanced visibility
      • Disabling tracing on production
      • Logging external methods
      • Optimizing Memory Usage
    • Edge connectivity
    • Preventing modifications
      • Preventing assembly load
      • Allowing partial tampering
      • Enterprise EDRs and XDRs
      • Dynamic Hook protection
      • Thread hijacking
      • Guard Checksums
      • DLL Injection
      • Handling complex RE attacks
        • Custom payload detection
    • Granular Integrity Checks
    • Virtualized Environments
    • Troubleshooting
    • Threat database
    • Real time alerts
      • Alert Insights
  • CLI Tool
    • Introduction
    • Global options
    • Profiles
    • Projects
    • Obfuscator
      • Obfuscation Schemes
      • Task templates
      • Protecting files
        • Global obfuscation flags
        • Using templates to obfuscate files
        • Quick obfuscation
      • Monitoring obfuscation jobs
    • Securing local storage
Powered by GitBook
On this page
  • Implementation
  • Checksum Hints

Was this helpful?

  1. Code Guard
  2. Preventing modifications

Guard Checksums

The codeguard processing nodes generate checksums during the processing of the application, which are then used to verify the integrity of the code.

The purpose of guard checksums is to provide a granular level of security for the code by focusing on specific regions of the code. This allows for the detection of tampering in specific areas of the code, rather than relying on a single checksum for the entire codebase.

Implementation

Guard checksums are automatically generated during the processing of the application by the codeguard processing nodes.

These nodes automatically identify specific regions of the code and generate checksums for them. The checksums are then stored in our servers. When a code change is detected, the checksums are recalculated and compared to the stored checksums to detect any tampering.

If tampering traces are found, an alert is generated to notify the user of the potential attack. The user can then investigate the code change and take appropriate action.

Checksum Hints

CodeGuard provides a way for users to emphasize which parts of the code should to be protected more. This allows users to provide hints to the Codeguard processor, directing it to create more guards for the marked regions of code.

This is particularly useful for code that contains sensitive information or business logic that is critical to the application's functionality.

It is important to note that the use of hints is optional and not required for the proper functioning of Codeguard. However, it can provide an additional layer of security by directing the codeguard processor to focus on specific regions of code that are deemed critical by the user.

PreviousThread hijackingNextDLL Injection

Last updated 1 year ago

Was this helpful?