You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> You can download Skidfuscator [here](https://github.com/skidfuscatordev/skidfuscator-java-obfuscator/releases) and run it directly using:
27
+
> ```
28
+
> java -jar skidfuscator.jar obfuscate <path to your jar>
29
+
> ```
30
+
31
+
Skidfuscator uses a config system, which allows you to customize your obfuscation. We try to automatically download all compatible libraries, but some may slip through the cracks. The Gradle plugin is a work in progress. For now, use:
32
+
```
33
+
java -jar skidfuscator.jar obfuscate <path to your jar> -li=<pathtofolderwithalllibs>
Skidfuscator is a proof of concept obfuscation tool designed to take advantage of SSA form to optimize and obfuscate Java bytecode
27
53
code flow. This is done via intra-procedural passes each designed to mingle the code in a shape where neither the time complexity
28
54
neither the space complexity suffers from a great loss. To achieve the such, we have modeled a couple of well known tricks to
@@ -36,6 +62,9 @@ Skidfuscator is now feature-complete and continues to be actively maintained wit
36
62
37
63
### 1. Automatic Dependency Downloading
38
64
Skidfuscator intelligently identifies and downloads missing dependencies needed for your project, minimizing manual configuration. Known frameworks such as Bukkit are automatically handled, streamlining setup.
In the event of errors or failed obfuscation, Skidfuscator implements a recovery system that intelligently resolves conflicts and provides suggestions to fix issues. This ensures minimal disruption in your development workflow.
41
70
### 3. Auto Configuration
@@ -54,6 +83,33 @@ not to be commercial but to inspire some more clever approaches to code flow obf
What is third generation flow obfuscation? Well, contrary to Zelix's [second generation flow obfuscation](https://www.zelix.com/klassmaster/featuresFlowObfuscation.html), we use an even more complex system with private and public seeds. Here's
58
114
how it works:
59
115
@@ -69,24 +125,7 @@ how it works:
69
125
70
126
We currently are working on a variety of ways to approach this system using various lightweight obfuscation methods. Here are the current ones
71
127
to date:
72
-
Here are the features:
73
-
74
-
| Feature | Type | Description | Status |
75
-
| --- | --- | --- | --- |
76
-
|`Flow GEN3`| Flow (Community) | Obfuscates methods using the GEN3 Obfuscation methodology | ✅ |
77
-
|`Bogus Jump`| Flow (Community) | Invalid jump to some random generated code to prevent skidding | ✅ |
78
-
|`Bogus Exception`| Flow (Community) | Invalid jump to some random generated exception | ✅ |
79
-
|`Mangled Jump`| Flow (**Enterprise**) | Mutation to the jump condition to make it appear more complex than it actually is | ❌ |
80
-
|`Exception Jump`| Flow (**Enterprise**) | Changes done to flow semantics by forcing an exception then handling all the code in the catch clause | ❌ |
81
-
|`Exception Return`| Flow (**Enterprise**) | Throw an exception with the value and catch it as opposed to returning it (Very heavy) | ❌ |
82
-
|`Strong Opaque Predicate`| Flow (Community) | Use heredity and method invocation to pass a predicate as opposed to declaring it at the beginning of the CFG | ✅ |
83
-
|`Method Inlining`| Flow (**Enterprise**) | Inline uncommon methods which aren't too big | ❌ |
0 commit comments