Anti-Debugging

Potency Medium
Resilience Low
Cost Medium
Tags: rasp, debugging

Description

Anti-Debugging detects debugging sessions of your application to trigger defences that thwart reverse engineering attempts. Countermeasures can be specified (optionally) to be executed when someone tries to debug your source code.

Anti-Debugging is fully compatible with the browser's Content-Security Policy (CSP).

Code Annotation Example

// @jscrambler define antiDebugging {countermeasures: {redirect: /logout}} as ad
// @jscrambler enable ad

Option Types

Name Required Default Value Description
countermeasures Yes {"deleteCookies": false,"breakApplication": true,"realTimeNotifications": false,"dataExfiltrationPrevention": false,"selfDestruct": false} List of available countermeasures
mode No N/A Transformation Modes
maxTargetsPerFunction No 3 Max number of targets per function
options No [] List of available options

Countermeasures

Name Description
customCallback Name of the function to be called as a countermeasure.
deleteCookies Deletes all the cookies accessible via JavaScript.
redirect Redirects the user to a specific URL.
breakApplication Breaks the application's functionality.
realTimeNotifications Sends a notification when a violation occurs.
dataExfiltrationPrevention Prevents a malicious actor from carrying out an unauthorized data transfer by blocking network requests.
selfDestruct Attempts to damage the state and behavior of the application and/or the environment that is running the application.

Mode

Modes can be configured to deal with incompatibilities. It is usually not necessary for users to directly set this field, as Jscrambler automatically chooses a suitable set. If you encounter issues, please contact our Support team.

React Native

Name Description
ORI Anti-debugging mode ORI
DWG Anti-debugging mode DWG

Other Frameworks

Name Description
LOT Anti-debugging mode LOT
LDT Anti-debugging mode LDT
LXT Anti-debugging mode LXT
TBD Anti-debugging mode TBD
CLD Anti-debugging mode CLD
CDD Anti-debugging mode CDD
CID Anti-debugging mode CID
DSP Anti-debugging mode DSP
INA Anti-debugging mode INA
DPL Anti-debugging mode DPL
INU Anti-debugging mode INU
INO Anti-debugging mode INO

Options

Name Description
disablePDC Turns off PDC injection

Browser Compatibility

Browser Compatible Versions Tested Versions Notes
Chrome 80+ 80+
Firefox 90+ 90+
Internet Explorer N/A 8+
Microsoft Edge 116+ 116+
Safari 13.1+ 13.1+

API Parameters

Example:

{
  "keys": {
    "accessKey": "XXXXXX",
    "secretKey": "YYYYYY"
  },
  "applicationId": "ZZZZZZ",
  "params": [
    {
      "name": "antiDebugging",
      "options": {
        "countermeasures": {
          "customCallback": null,
          "deleteCookies": false,
          "redirect": null,
          "breakApplication": true,
          "realTimeNotifications": false,
          "dataExfiltrationPrevention": false,
          "selfDestruct": false
        },
        "maxTargetsPerFunction": 3
      }
    }
  ]
}