Giter Site home page Giter Site logo

bozar's Introduction

Bozar - Java Bytecode Obfuscator with GUI

alt text

πŸŽ‰ Exciting News! Bozar 2.0.0 Coming Soon! πŸŽ‰

We are delighted to announce that Bozar version 2.0.0 is on the horizon, bringing important enhancements to our Java bytecode obfuscation tool:

Key Features of Bozar 2.0.0:

  • πŸš€ Simplified User Experience: Bozar 2.0.0 is incredibly lightweight and user-friendly. No complex configurations are required. Whether you're a seasoned developer or a newcomer, you can start obfuscating your applications effortlessly.

  • πŸ”’ Advanced Obfuscation Techniques: Bozar 2.0.0 introduces new, robust obfuscation methods that bolster the security of your code. Your applications will benefit from enhanced protection.

  • πŸ’‘ Community-Driven Improvements: We've listened to the valuable feedback and insights from our GitHub community to make Bozar even better. Your input has been instrumental in shaping this release.

Stay tuned for Bozar 2.0.0! We look forward to sharing these significant enhancements with you.

To stay updated and participate in discussions, consider joining our Discord Community – a hub for sharing knowledge and support as we approach the release of Bozar 2.0.0.

Usage

  • Download the version you want in releases for your platform
  • Run the executable.
  • Done.

Let me know if obfuscator fails. Submit an issue here.

Currently Available Options

  • Watermark
  • Renamer
  • Shuffler
  • Decompiler crasher
  • Control Flow obfuscation
  • Constant obfuscation (String literals and numbers)
  • Line number obfuscation
  • Local variable obfuscation
  • Inner class remover
  • Source file/debug remover

Building

Some older maven versions have issues compiling this project.
In such a case, use the latest version of maven to fix.

git clone https://github.com/vimasig/Bozar
cd Bozar
mvn compile javafx:run 

Command Line Arguments

Command Description
-input Target file path to obfuscate.
-output Output path.
-config Configuration path.
-noupdate Disable update warnings.
-console Application will run without GUI and obfuscation task will start immediately.

bozar's People

Contributors

aldenorjr avatar vimasig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bozar's Issues

obfuscation failing

Describe the bug
A clear and concise description of what the bug

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Bozar version
[e.g. 1.4.0]

Additional context
Add any other context about the problem here.
image
output.txt

flow is so bad

its so easy to remove, u just have to find method calls and remove everything before and after it.

Broke unicode

Screenshots
Screenshot 2023-07-17 114323

Unicode Chars got breaked.
So words cannot readable.
1.70 Version

Bug

I'm having a bug while trying to obfuscate a JAR

ERROR: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "cn.superName" is null
ERROR: at io.github.vimasig.bozar.obfuscator.transformer.impl.renamer.MethodRenamerTransformer.lambda$getUpperSuperHierarchy$17(MethodRenamerTransformer.java:149)

Constant obfuscation results in non standard Unicode chars breaking

Describe the bug
Constant obfuscation results in non standard Unicode chars breaking (EX: ✘ βœ”)

To Reproduce
Create a function to print out the Unicode characters.
Use the constant obfuscator on light or flow
They will turn into invalid text

Expected behavior
The original Unicode should get sent when being ran

Screenshots
Without constant obf
With light or flow constant obf

Bozar version
1.7.0

Additional context
This was done in a BukkitAPI plugin

This is a rat lmfao

Describe the bug

To Reproduce
:) just stop being retarded and ratting a java obfuscator
Expected behavior
I havent expected a java obfuscator to be rat lol
Screenshots
image
image

Bozar version
1.4.0

Additional context
kids

Constant obfuscation failing

Describe the bug
When I try to obfuscate my project, everything looks fine in the decomplimiler, but I noticed that there are too few classes, and that showed. NoClassDefFoundError: It did not find the utils package. (No Renamer, No Shuffle)

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Bozar version
v1.5

Additional context
Add any other context about the problem here.

Deobfuscator

Should to create a new algorithm for encrypting files because deobfuscator by narumii can deobfuscate Bozar's obfuscation

Texture issue

Describe the bug
A clear and concise description of what the bug is.

Random Characters

To Reproduce
Steps to reproduce the behavior.

Expected behavior
A clear and concise description of what you expected to happen.

Suppose to say the correct things

Screenshots
If applicable, add screenshots to help explain your problem.

bruh2

bruh1

Bozar version
1.7.0

Additional context
Add any other context about the problem here.

Error with ConstantObfuscation, only obfuscates strings in methods not outside (not for all classes I dont think) "due to low method capacity"

Describe the bug
When I try constant obfuscation, it seems to only obfuscate constants that are inside of a method and wont obfuscate the ones outside it

To Reproduce
Turn on Constant Obfuscation, have strings outside of a method, The class must be slightly big ish, I cant give you access to the jar here on github because it contains private things but I can give you one if you have discord

Expected behaviour
I wanted all strings to be obfuscated but it forgot some strings outside of methods and gave an error

Screenshots

image
image
image
image
image

Bozar version
1.7.0 built from master

Additional context
Problem happened when I was trying to obfuscate an important joke java program with special strings, It fails at those strings with a "due to low method capacity" error

Eclispe

Error occurred during initialization of boot layer
java.lang.module.FindException: Module Bozar not found

this is not an enum class error

Describe the bug
Says a class is not enum when its enum

To Reproduce
{
"bozarOptions": {
"rename": "IlIlIlIlIl",
"lineNumbers": "Randomize",
"localVariables": "Obfuscate",
"removeSourceFile": false,
"shuffle": true,
"removeInnerClasses": false,
"controlFlowObfuscation": "Light",
"crasher": true,
"constantObfuscation": "Light",
"watermarkOptions": {
"dummyClassText": "TOS",
"textInsideClassText": "Decompiling/Deobfuscating this is against TOS can u can be sued for it",
"ldcPopText": "",
"zipCommentText": ""
}
}
}

Expected behavior
IllegalArgumentException is thrown

Screenshots
image

Bozar version
1.7.0

Can't obfuscate

Whenever I try to obfuscate,
java.nio.AccessFileDenied: (path to output)

Heavy flow obfuscation results in invalid bytecode

Describe the bug
When I try to obfuscate using heavy flow obfuscation, the result is invalid bytecode which fails bytecode verification when I try to run it. It does work if I use "light" flow obfuscation instead.

To Reproduce
Run bozar on attached Primes.jar with heavy flow obfuscation.
This zip has the input jar I used, as well as the broken output jar.
bug.zip

Expected behavior
it works

Bozar version
1.7.0 (latest)

Additional context

Error: Unable to initialize main class Primes
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    Primes.<init>([I[III)V @629: pop2
  Reason:
    Type top (current frame, stack[1]) is not assignable to category1 type
  Current Frame:
    bci: @629
    flags: { flagThisUninit }
    locals: { uninitializedThis, '[I', '[I', integer, integer, top, top, top, top, 'java/lang/invoke/MethodType' }
    stack: { uninitializedThis, top, integer }
```

Compile maven

Describe the bug
I get an error in maven

To Reproduce
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.666 s
[INFO] Finished at: 2021-07-01T05:37:31+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project Bozar: Fatal error compiling: invalid flag: --module-path -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Expected behavior
to compile it for me

Screenshots
https://cdn.discordapp.com/attachments/657679887468855336/860016776536653844/unknown.png

Bozar version
1.6.0

Additional context
help me pls

NullPointerException with MethodRenamerTransformer

When trying to apply a renamer, I get an unknown NullPointerException which kinda doesn't make sense because I feel this exception shouldn't be thrown in the first place.
image
Makes no difference changing other options, could this maybe be a library issue?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.