Graham
46ab5111e6
Add isMethodImmutable method to TypedRemapper
...
I'm going to use this in a new Transformer.
5 years ago
Graham
b7347b2632
Move ArgRef to the top level
...
I'm going to use it in another Transformer.
5 years ago
Graham
bb2f72c4f0
Add ConstSourceInterpreter
...
It is akin to SourceInterpreter, but more efficient as it only tracks
the sources of integer constants and it doesn't track sources through
copy instructions.
5 years ago
Graham
f426f16d72
Simplify DummyLocalTransformer
...
The obfuscated client only contains dummy locals of type int.
5 years ago
Graham
261cc87125
Add CachePathTransformer
5 years ago
Graham
557f2fb504
Move remapping into a RemapTransformer
...
This allows us to run the remapping immediately between
OriginalNameTransformer and DummyArgTransformer.
5 years ago
Graham
b97294457a
Make ClassNamePrefixer more similar to TypedRemapper
5 years ago
Graham
1319295d77
Separate remapping from the write{Pack,Jar} methods
...
This is a prerequisite for removing dummy arguments - before the methods
are remapped, removing an argument might cause the method to conflict
with another method with the same name and descriptor as the replacement
descriptor.
5 years ago
Graham
c6d184c5c5
Convert OriginalNameTransformer to a standard Transformer
5 years ago
Graham
318f906ab5
Make DummyLocalTransformer type-sensitive
...
This catches a few more dummy locals than the previous code.
5 years ago
Graham
7b3ec975d9
Inline constants in DummyArgTransformer
...
This is a prerequisite for us to be able to remove the constant
arguments.
5 years ago
Graham
4cfb9d9f69
Remove dummy branch expressions instead of inserting POPs
...
This prevents Fernflower from inserting dummy boolean variables.
5 years ago
Graham
3242356c80
Remove unused throws declarations
5 years ago
Graham
ccea2f0f8e
Rename DummyTransformer to DummyArgTransformer
5 years ago
Graham
7747fe457a
Remove dummy local variables
5 years ago
Graham
9f49902962
Use ImmutableList in the Deobfuscator class
5 years ago
Graham
003b7ecfef
Improve <description> wrapping
5 years ago
Graham
a1f7cf5ce4
Add HostCheckTransformer
5 years ago
Graham
405c33c1a1
Format *.xml files with IDEA's code style
5 years ago
Graham
5fd2488988
Fix right clicking on modern versions of Java
5 years ago
Graham
eec8990481
Add description to all modules
5 years ago
Graham
517032959e
Use immutable collections types from Guava
5 years ago
Graham
f90b959210
Rename 'Deobfuscator' to 'Bytecode Deobfuscator'
5 years ago
Graham
271d2126c0
Use InsnList's iterator instead of getFirst()/getNext()
5 years ago
Graham
24ce226e5c
Replace int with var for consistency
5 years ago
Graham
8613763520
Inline bitwise AND/OR/XOR methods
5 years ago
Graham
95c4741229
Remove all-null parameter arrays from the constArgs map
5 years ago
Graham
1cec2c3739
Remove ILOAD inlining
...
This causes Fernflower to output invalid Java in some cases. Need to
think about how exactly to replace it.
5 years ago
Graham
766b544fc1
Track multiple values in IntInterpreter
...
This helps us catch a few more cases in DummyTransformer.
5 years ago
Graham
3c1ec9f210
Add initial DummyTransformer
5 years ago
Graham
55646c8384
Add newParameterValue() implementation to IntInterpreter
5 years ago
Graham
a4c6c4774a
Add toString() to IntValue
5 years ago
Graham
9b9bdeae63
Add multi-pass Transformer support
5 years ago
Graham
d293176959
Replace maven.multiModuleProjectDirectory with openrs2.root
...
openrs2.root works correctly even if the root of the reactor is a child
project, at the expense of having to re-define the property in each
module.
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
48f8c68500
Format code
5 years ago
Graham
1bf39200c5
Use jaggl instead of jogl in the deobfuscator
5 years ago