1JRD(1)                      General Commands Manual                     JRD(1)
2
3
4

NAME

6       JRD - Java Runtime Decompiler
7

SYNOPSIS

9       (./start.sh|start.bat) [-verbose] # launches GUI
10
11       (./start.sh|start.bat)     [-verbose]    (-help|-h|-listjvms|-listplug‐
12       ins|-overwrite)
13
14       (./start.sh|start.bat)                [-verbose]                (-list‐
15       classes|-bytes|-base64bytes|-compile|-decompile) [-saveas [-savelike]]
16

OPTIONS

18   Standard options
19       -help, -h
20               Print this help text.
21
22       -verbose
23               All  exceptions  and  some debugging strings will be printed to
24              standard error.
25
26       -version
27               Print version project name, version and build timestamp.
28
29       -listjvms
30               List all local Java processes and their PIDs.
31
32       -listplugins
33               List all currently configured decompiler plugins and their sta‐
34              tuses.
35
36       -listclasses <PUC> [<CLASS REGEX>...]
37               List  all  loaded  classes  of  a process, optionally filtering
38              them.
39
40               Only '-savelike exact' or '-savelike default'  are  allowed  as
41              saving modifiers.
42
43       -base64bytes <PUC> <CLASS REGEX>...
44               Print  Base64  encoded  binary  form  of requested classes of a
45              process.
46
47       -bytes <PUC> <CLASS REGEX>...
48               Print binary form of requested classes of a process
49
50       -compile [-p <PLUGIN>] [-cp <PUC>] [-r] <PATH>...
51               Compile local files against  runtime  classpath,  specified  by
52              -cp.
53
54               Use  -p  to utilize some plugins' (like jasm or jcoder) bundled
55              compilers.
56
57               Use -r for recursive search if <PATH> is a directory.
58
59               If the argument of '-saveas' is a valid PID or  URL,  the  com‐
60              piled code will be attempted to be injected into that process.
61
62               If multiple PATHs were specified, but no '-saveas', the process
63              fails.
64
65       -decompile <PUC> <PLUGIN> <CLASS REGEX>...
66               Decompile and print classes of a process with the specified de‐
67              compiler plugin.
68
69               Javap  can  be passed options by appending them without spaces:
70              'javap-v-public ...' executes as 'javap -v -public ...'
71
72       -overwrite <PUC> <CLASS NAME> [<CLASS FILE>]
73               Overwrite class of a process with new bytecode. If <CLASS FILE>
74              is not set, standard input is used.
75
76   Saving modifiers
77       -saveas <PATH>
78               All outputs will be written to PATH instead of to standard out‐
79              put.
80
81       -savelike <SAVE METHOD>
82               Specify how saving will behave.
83

NOTES

85       All options can be with either one or two leading slashes ('-').
86
87
88       When using <CLASS REGEX>, don't forget to escape dollar  signs  '$'  of
89              inner  classes to '\$', as otherwise they are treated as end-of-
90              line by REGEX.
91
92
93       <PUC>, short for PidUrlClasspath, can be one of:
94
95              • local process PID
96
97              • remote process URL, in the format of 'hostname:port'
98
99              • classpath of JAR on the  filesystem  (classpath  separator  is
100              ':')
101
102
103       <SAVE METHOD> can be one of:
104
105              •   'dir'   -  Result  will  be  saved  as  '<PATH>/fully/quali‐
106              fied/name.class'. Default for .class binaries.
107
108              •  'fqn'  -  Result  will  be  saved   as   '<PATH>/fully.quali‐
109              fied.name.java'. Default for .java sources.
110
111              •  'exact'  -  Result will be saved exactly to '<PATH>'. Default
112              for everything else.
113
114              • 'default' - Saving uses the defaults mentioned above.
115
116
117
118
119                                                                        JRD(1)
Impressum