Skip to content
This repository has been archived by the owner on Nov 23, 2024. It is now read-only.

Latest commit

 

History

History
32 lines (23 loc) · 1.39 KB

README.md

File metadata and controls

32 lines (23 loc) · 1.39 KB

poke

A Java library (and CLI) for performing bytecode normalization and generic deobfuscation.

Currently, it is a thin wrapper around ProGuard's core configured specifically for optimization only (no need to configure -keep rules or anything of that sort).

Usage

For use as a library, see how the CLI uses it.

For use of the actual CLI, grab a build from GitHub Packages and run it with the --help option, you should see something like this:

Usage: poke [-hV] [--[no-]inline] [--[no-]optimize] [--[no-]verify]
            [-p=<passes>] <input> <output>
A Java library for performing bytecode normalization and generic deobfuscation.
      <input>             The class/JAR file to be analyzed.
      <output>            The analyzed class/JAR file destination.
  -h, --help              Show this help message and exit.
      --[no-]inline       Performs method inlining.
      --[no-]optimize     Performs optimizations.
  -p, --passes=<passes>   The amount of optimization passes.
  -V, --version           Print version information and exit.
      --[no-]verify       Performs preemptive verification and correction.

In most use cases, you'll want to use --optimize, --verify and --inline with a decent amount of passes (5-10).

Licensing

poke is licensed under the GNU General Public License, version 2, like ProGuard.