Graham
d77de89ea1
Add JNI header files generated from jaggl and jagmisc
...
A long-term goal is to write clean room implementations of these
libraries, for several reasons:
* The original libraries are missing, so we currently have to do a fair
amount of awkward bytecode patching in the loader to use JOGL
instead.
* The original libraries were not compiled for 64-bit Linux. We might
also want to compile for new architectures (e.g. ARM or RISC-V) or
additional operating systems (e.g. the BSDs).
* I'm worried that over time the libraries will bit rot and might
eventually stop working with modern JREs - it's already been about 10
years since they were originally compiled!
I'm not too concerned about putting this in the main open-source
repository: I think it's generally believed that interfaces are not
copyrightable, and we're only copying the interface for
interoperability purposes. The native code will be original.
Furthermore, most of the jaggl interface is just a copy of the OpenGL
interface, so it's unlikely that Jagex could claim they hold the
copyright on it anyway.
5 years ago
Graham
cc1a1adde7
Add seperate jar for the jaggl DRI classes
5 years ago
Graham
65e7efde23
Add TODO
5 years ago
Graham
0b6966c6f8
Move signed classes in a single pass
5 years ago
Graham
12293bb3b1
Refactor package structure of the asm module
5 years ago
Graham
0c8d0f9cc3
Add initial support for whole program analysis in transformers
5 years ago
Graham
15ccc70c37
Add new remap package
5 years ago
Graham
406feb72f0
Move classpath package to the asm module
...
This is in preparation for Transformers taking an entire ClassPath
instead of a single Library at a time, which is in turn required for
dummy argument removal (a whole program analysis).
5 years ago
Graham
cf650af5fa
Add OriginalArg annotation
...
The dummy argument removal code is going to fiddle with the argument
lists (and so could manual refactoring).
5 years ago
Graham
3978ee9ea0
Allow Transformers to throw AnalyzerException
5 years ago
Graham
b27763a699
Move field/method exclusions to the TypedRemapper
5 years ago
Graham
df4afccccc
Move inherited field/method set code to ClassPath
5 years ago
Graham
751ae183c1
Add IntInterpreter and IntValue
...
I'm planning to use these to remove dummies.
5 years ago
Graham
2cde631fca
Add BitShiftTransformer
5 years ago
Graham
82d359ad4d
Add FieldOrderTransformer
5 years ago
Graham
b37feb0535
Add .editorconfig file
5 years ago
Graham
c04986cedb
Add XML code style matching Maven's convention for POMs
5 years ago
Graham
8a3a9102cb
Use multiModuleProjectDirectory instead of executionRootDir
...
executionRootDir was always a bit of a hack.
5 years ago
Graham
48f8c68500
Format code
5 years ago
Graham
36995c46ef
Add initial IntelliJ IDEA code style configuration
5 years ago
Graham
09001025ba
Update dependencies
5 years ago
Graham
22b9904241
Fix minimum Maven version
5 years ago
Graham
db0c4bead2
Remove formatter-maven-plugin
...
I don't think it'll be able to match my preferred IDEA style. I might
replace it with a custom Maven plugin which invokes the IDEA
command-line formatter.
5 years ago
Graham
1bf39200c5
Use jaggl instead of jogl in the deobfuscator
5 years ago
Graham
fe3e02550b
Rename (and flip) isMutable to isDependency
5 years ago
Graham
40caf973ab
Log warning if an unobfuscated name is remapped
5 years ago
Graham
6fde1a4bca
Add Original{Class,Name} annotations even if the name was unchanged
...
I think they will still be useful, as we might refactor the names in the
deobfuscated code in the future.
5 years ago
Graham
f26695a0c1
Remap Class.forName() calls in ClassNamePrefixer
5 years ago
Graham
3b35a39084
Make ClassForNameTransformer compatible with SimpleRemapper
...
SimpleRemapper returns null if a class should not be renamed.
5 years ago
Graham
a056217cc2
Add CounterTransformer
5 years ago
Graham
ed0da80e30
Add initial Fernflower driver
5 years ago
Graham
c9803a9a5c
Add Fernflower fork
5 years ago
Graham
ded582dd06
Remove FocusListener from class that claims to implement it but doesn't
5 years ago
Graham
cdf7ea435e
Remove cfr from dependencyManagement for now
...
It isn't yet used, and I cfr still needs some work (or we need to
provide it with nicer code) before it's good enough to bundle with the
deobfuscator.
5 years ago
Graham
a2f74669de
Add owner and descriptor to original field/method annotations
...
This will make it easier to map original names to refactored names. It
also means we can keep tracking static methods even if they get moved
around.
5 years ago
Graham
9a27264d97
Rename path package to classpath
5 years ago
Graham
66283c6f7a
Add ExceptionTracingTransformer
5 years ago
Graham
4e929bbfc0
Rename annotations package to annotation
...
The rest of our package names are singular.
5 years ago
Graham
2367ba7ae4
Preserve original class and member names with @OriginalName
5 years ago
Graham
2e39ca26fd
Improve naming and typing in Member{Desc,Ref}.equals() methods
5 years ago
Graham
c1358f6105
Add renamer to the deobfuscator
5 years ago
Graham
7e4dee02d0
Rename FieldRef to MemberRef
5 years ago
Graham
c0568f1373
Make empty Library constructor public
5 years ago
Graham
e42fcd01b5
Add ForestDisjointSet
5 years ago
Graham
0007da4729
Add OpaquePredicateTransformer and initial deobfuscator infrastructure
5 years ago
Graham
d001488424
Add logging to Library read/write methods
5 years ago
Graham
f0cb9d40e2
Add constructor for cloning a Library
5 years ago
Graham
3366156d92
Simplify writeJar
5 years ago
Graham
8966d7b531
Add abstract Transformer class
5 years ago
Graham
ca79e234bd
Add methods for manipulating and iterating over the classes in a library
5 years ago