Submitting a new package OBS-URL: https://build.opensuse.org/request/show/1112637 OBS-URL: https://build.opensuse.org/package/show/Java:packages/procyon?expand=0&rev=1
241 lines
4.7 KiB
Plaintext
241 lines
4.7 KiB
Plaintext
=encoding utf8
|
|
|
|
=head1 NAME
|
|
|
|
procyon-decompiler - the Procyon Java decompiler
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
procyon-decompiler I<main class> [I<options>] I<type names or class/jar files>
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
procyon-decompiler is a standalone front-end for the Java decompiler included
|
|
in procyon-compilertools.
|
|
|
|
=head1 OPTIONS
|
|
|
|
=over
|
|
|
|
=item B<-b>, B<--bytecode-ast>
|
|
|
|
Output Bytecode AST instead of Java.
|
|
|
|
Default: false
|
|
|
|
=item B<-ci>, B<--collapse-imports>
|
|
|
|
Collapse multiple imports from the same package into a single wildcard import.
|
|
|
|
Default: false
|
|
|
|
=item B<--compiler-target>
|
|
|
|
Explicitly specify the language version to decompile for, e.g., 1.7, 1.8, 8, 9,
|
|
etc. [EXPERIMENTAL, INCOMPLETE]
|
|
|
|
=item B<-cp>, B<--constant-pool>
|
|
|
|
Includes the constant pool when displaying raw bytecode (unnecessary with
|
|
B<-v>).
|
|
|
|
Default: false
|
|
|
|
=item B<-dl>, B<--debug-line-numbers>
|
|
|
|
For debugging, show Java line numbers as inline comments (implies B<-ln>;
|
|
requires B<-o>).
|
|
|
|
|
|
Default: false
|
|
|
|
=item B<--disable-foreach>
|
|
|
|
Disable 'for each' loop transforms.
|
|
|
|
Default: false
|
|
|
|
=item B<-eml>, B<--eager-method-loading>
|
|
|
|
Enable eager loading of method bodies (may speed up decompilation of larger
|
|
archives).
|
|
|
|
Default: false
|
|
|
|
=item B<-ent>, B<--exclude-nested>
|
|
|
|
Exclude nested types when decompiling their enclosing types.
|
|
|
|
Default: false
|
|
|
|
=item B<-eta>, B<--explicit-type-arguments>
|
|
|
|
Always print type arguments to generic methods.
|
|
|
|
Default: false
|
|
|
|
=item B<-fsb>, B<--flatten-switch-blocks>
|
|
|
|
Drop the braces statements around switch sections when possible.
|
|
|
|
Default: false
|
|
|
|
=item B<-fq>, B<--force-qualified-references>
|
|
|
|
Force fully qualified type and member references in Java output.
|
|
|
|
Default: false
|
|
|
|
=item B<-?>, B<--help>
|
|
|
|
Display this usage information and exit.
|
|
|
|
=item B<-jar>, B<--jar-file>
|
|
|
|
[DEPRECATED] Decompile all classes in the specified jar file (disables B<-ent>
|
|
and B<-s>).
|
|
|
|
=item B<-lc>, B<--light>
|
|
|
|
Use a color scheme designed for consoles with light background colors.
|
|
|
|
Default: false
|
|
|
|
=item B<-lv>, B<--local-variables>
|
|
|
|
Includes the local variable tables when displaying raw bytecode (unnecessary
|
|
with B<-v>).
|
|
|
|
Default: false
|
|
|
|
=item B<-ll>, B<--log-level>
|
|
|
|
Set the level of log verbosity (0-3). Level 0 disables logging.
|
|
|
|
Default: 0
|
|
|
|
=item B<-mv>, B<--merge-variables>
|
|
|
|
Attempt to merge as many variables as possible. This may lead to fewer
|
|
declarations, but at the expense of inlining and useful naming. This feature
|
|
is experimental and may be removed or become the standard behavior in future
|
|
releases.
|
|
|
|
Default: false
|
|
|
|
=item B<-o>, B<--output-directory>
|
|
|
|
Write decompiled results to specified directory instead of the console.
|
|
|
|
=item B<-r>, B<--raw-bytecode>
|
|
|
|
Output Raw Bytecode instead of Java (to control the level of detail, see:
|
|
B<-cp>, B<-lv>, B<-ta>, B<-v>).
|
|
|
|
Default: false
|
|
|
|
=item B<-ec>, B<--retain-explicit-casts>
|
|
|
|
Do not remove redundant explicit casts.
|
|
|
|
Default: false
|
|
|
|
=item B<-ps>, B<--retain-pointless-switches>
|
|
|
|
Do not lift the contents of switches having only a default label.
|
|
|
|
Default: false
|
|
|
|
=item B<-ss>, B<--show-synthetic>
|
|
|
|
Show synthetic (compiler-generated) members.
|
|
|
|
Default: false
|
|
|
|
=item B<-sm>, B<--simplify-member-references>
|
|
|
|
Simplify type-qualified member references in Java output [EXPERIMENTAL].
|
|
|
|
Default: false
|
|
|
|
=item B<-sl>, B<--stretch-lines>
|
|
|
|
Stretch Java lines to match original line numbers (only in combination with
|
|
B<-o>) [EXPERIMENTAL].
|
|
|
|
Default: false
|
|
|
|
=item B<--text-block-line-min>
|
|
|
|
Specify the minimum number of line breaks before string literals are rendered
|
|
as text blocksDefault is 3; set to 0 to disable text blocks.
|
|
|
|
Default: 3
|
|
|
|
=item B<-ta>, B<--type-attributes>
|
|
|
|
Includes type attributes when displaying raw bytecode (unnecessary with B<-v>).
|
|
|
|
Default: false
|
|
|
|
=item B<--unicode>
|
|
|
|
Enable Unicode output (printable non-ASCII characters will not be escaped).
|
|
|
|
Default: false
|
|
|
|
=item B<-u>, B<--unoptimized>
|
|
|
|
Show unoptimized code (only in combination with B<-b>).
|
|
|
|
Default: false
|
|
|
|
=item B<-v>, B<--verbose>
|
|
|
|
Includes more detailed output depending on the output language (currently only
|
|
supported for raw bytecode).
|
|
|
|
Default: false
|
|
|
|
=item B<--version>
|
|
|
|
Display the decompiler version and exit.
|
|
|
|
Default: false
|
|
|
|
=item B<-ln>, B<--with-line-numbers>
|
|
|
|
Include line numbers in raw bytecode mode; supports Java mode with B<-o> only.
|
|
|
|
Default: false
|
|
|
|
=back
|
|
|
|
=head1 USAGE EXAMPLES
|
|
|
|
Show help/usage information and exit.
|
|
|
|
$ procyon-decompiler
|
|
$ procyon-decompiler -?
|
|
|
|
Decompile a single class to the console.
|
|
|
|
$ procyon-decompiler java.lang.String
|
|
$ procyon-decompiler java.util.Collections
|
|
|
|
Decompile a whole jar to a directory.
|
|
|
|
$ procyon-decompiler -jar myJar.jar -o out
|
|
|
|
|
|
=head1 LICENSE
|
|
|
|
Procyon is released under version 2.0 of the L<Apache
|
|
License|https://www.apache.org/licenses/LICENSE-2.0.txt>.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
The website is located at
|
|
L<https://github.com/mstrobel/procyon/wiki/Java-Decompiler>.
|
|
|