qProtect Closed BETA

Program qProtect Closed BETA 2.0.0

Code:
# Input and output JAR paths
input = "input.jar"  # Path to the JAR file to be obfuscated.
output = "output.jar"  # Path to save the obfuscated JAR file.

# Java runtime configuration
# qProtect 2.0 dynamically loads the Java runtime. Set the Java version for your project here.
# If your version is not listed, choose the next higher version.
# Available versions: 8, 9, 11, 17, 21, 23
projectJavaVersion = 8  # The Java version your project uses (e.g., Java 8).

# Dictionary configuration for name generation
# Options:
# - qprotect: Default qProtect dictionary.
# - lowercase: Generates names using only lowercase letters.
# - uppercase: Generates names using only uppercase letters.
# - mixed: Generates names with mixed casing.
# - lookalike_il: Uses characters that look alike (e.g., 'i' and 'l').
# - lookalike_oO: Uses characters that look alike (e.g., 'o' and 'O').
# - custom: Allows custom dictionary; provide the path to a text file with each entry on a new line.
dictionary = "qprotect"  # Name generation strategy.
customDictionaryPath = "dictionary.txt"  # Path to the custom dictionary file (used only if `dictionary = "custom"`).
minimumDictionaryLength = 1  # Minimum length for generated names.

# Libraries used by the obfuscation process, can be .jar or a folder containing .jars
libraries = [
    "C:\\Users\\brownie\\Desktop\\myLib.jar", # single .jar file
    "C:\\Users\\brownie\\Desktop\\qprotect-lib",  # recursively search for .jars.
]

# Exclusions and inclusions
# These lists determine which classes are excluded or included globally in obfuscation.
# Transformer settings can override these.
# - `exclusions` prevents specific classes or packages from being processed.
# - `inclusions` ensures specific classes or packages are processed even if they match exclusions.
#
# Format for exclusions/inclusions:
# 1. `com.example.MyTestClass`: Matches a specific class.
# 2. `com.example.*`: Matches all classes in the package `com.example` (no sub-packages).
# 3. `com.example.**`: Matches all classes in `com.example` and all its sub-packages.
exclusions = [
    "com.example.MyTestClass",  # Excludes the class `MyTestClass` in the `com.example` package.
]
inclusions = [
    "com.example.IncludedClass",  # Includes the class `IncludedClass` in the `com.example` package.
]

# Transformer-specific configurations
# Each transformer enables specific types of obfuscation. Configure them individually.

# String Encryption Configuration
[transformerConfiguration.stringEncryptionConfig]
enabled = false  # Encrypts strings in the JAR file.
firstKeySize = 16  # Key size for the first encryption step.
secondKeySize = 32  # Key size for the second encryption step.
aesEncryption = false  # Use AES encryption for strings.
encryptAESKey = false  # Encrypt the AES key itself.
polymorphicEncryption = false  # Use polymorphic encryption (multiple algorithms).
poolEncryption = false  # Encrypt strings via a pool.
downgradeJavaStrings = false  # Downgrade Java strings for compatibility.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from string encryption.
]

# Arithmetic Transformer Configuration
[transformerConfiguration.arithmeticTransformerConfig]
enabled = false  # Obfuscates arithmetic expressions.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from arithmetic obfuscation.
]

# Number Encryption Configuration
[transformerConfiguration.numberEncryptionConfig]
enabled = false  # Encrypts numeric constants in the code.
encryptNumbers = false  # Encrypt numbers directly.
poolNumbers = false  # Pool numbers together for decryption.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from number encryption.
]

# Local Variable Transformer Configuration
[transformerConfiguration.localsTransformerConfig]
enabled = false  # Obfuscates local variable names.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from local variable obfuscation.
]

# Reference Encryption Configuration
[transformerConfiguration.referenceEncryptionConfig]
enabled = false  # Encrypts references to methods and fields.
encryptMethodReferences = false  # Encrypt method references.
encryptFieldReferences = false  # Encrypt field references.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from reference encryption.
]

# Flow Transformer Configuration
[transformerConfiguration.flowTransformerConfig]
enabled = false  # Applies control flow obfuscation.
replaceSystemExit = false  # Replace `System.exit()` calls.
flattening = false  # Flatten the control flow.
variableTransformer = false  # Transform variables for obfuscation.
blockSplitter = false  # Split code blocks for obfuscation.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from flow obfuscation.
]

# Renamer Transformer Configuration
[transformerConfiguration.renamerTransformerConfig]
enabled = false  # Renames packages, classes, methods, and fields.
dumpMappings = false # Set to 'true' to save the renaming mappings as .qmap right next to the output file
renamePackages = false  # Rename package names.
packageName = "qprotect"  # Target package name for renaming (used only if `renamePackages = true`).
renameClasses = false  # Rename class names.
renameFields = false  # Rename field names.
renameMethods = false  # Rename method names.
renameLocalVariables = false  # Rename local variable names.
excludedFields = ["myField"]  # Fields excluded from renaming.
excludedMethods = ["myMethod"]  # Methods excluded from renaming.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from renaming.
]

# Debug Stripper Configuration
[transformerConfiguration.debugStripperConfig]
enabled = false  # Removes debug information from the JAR file.
stripSourceDebug = false  # Strip source-level debug info.
stripSourceFile = false  # Remove source file references.
stripLineNumbers = false  # Strip line number information.
stripLocalVariables = false  # Strip local variable debug info.
stripExceptions = false  # Remove exception debug info.
removeKotlinMetadata = false # Removes metadata added by kotlin
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from debug stripping.
]

# Shuffle Transformer Configuration
[transformerConfiguration.shuffleTransformerConfig]
enabled = false  # Shuffles methods and fields within classes.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from shuffling.
]

# Access Transformer Configuration
[transformerConfiguration.accessTransformerConfig]
enabled = false  # Modifies access modifiers for fields/methods.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from access transformation.
]

# Constant Unfinalizer Configuration
[transformerConfiguration.constantUnfinalizerConfig]
enabled = false  # Removes final modifiers from constants.
exclusions = [
    "com.example.MyTestClass",  # Classes excluded from constant unfinalization.
]
Author
apkreaderapkreader is verified member.
Downloads
4
Type
Digital product
License duration
1 Years
Price
100.00 USD
Renewal price
0.00 USD
Views
1,635
Extention type
jar
File size
11 MB
Hash
a8ecf9c143466f12057ed08166447870
First release
Last update

Ratings

0.00 star(s) 0 ratings

Share this resource

Latest updates

  1. Beta 6

    Added: Stripper: Kotlin metadata remover Added: Package renaming is now optional Fix: Use...
Back
Top