Deobfuscate the jaggl jar

While the jaggl jar isn't actually obfuscated, this change means we'll
support the @OriginalXXX annotations (which is useful for local
variables, whose names aren't retained). The unused method, visibility
and final transformers will also tidy up the code slightly.

The new class/member filtering infrastructure is used to retain the
names of every class, method and field.

Signed-off-by: Graham <gpe@openrs2.dev>
Graham 5 years ago
parent bc52f061fb
commit 5c9a6c2abe
  1. 4
      deob/src/main/java/dev/openrs2/deob/Deobfuscator.kt
  2. 15
      deob/src/main/java/dev/openrs2/deob/Profile.kt

@ -71,8 +71,8 @@ class Deobfuscator @Inject constructor(
)
val glClassPath = ClassPath(
runtime,
dependencies = listOf(gl),
libraries = listOf(glClient, glLoader, glSignLink, glUnpack, glUnpackClass)
dependencies = emptyList(),
libraries = listOf(gl, glClient, glLoader, glSignLink, glUnpack, glUnpackClass)
)
val unsignedClassPath = ClassPath(
runtime,

@ -16,7 +16,10 @@ class Profile(
val BUILD_550 = Profile(
excludedClasses = GlobClassFilter(
"client",
"com/sun/opengl/impl/x11/**",
"jagex3/jagmisc/jagmisc",
"jaggl/**",
"javax/media/opengl/**",
"loader",
"unpack",
"unpackclass"
@ -26,16 +29,24 @@ class Profile(
"**.<init> *",
"**.main *",
"**.providesignlink *",
"**.quit *"
"**.quit *",
"com/sun/opengl/impl/x11/**.* *",
"jaggl/**.* *",
"javax/media/opengl/**.* *"
),
excludedFields = GlobMemberFilter(
"**.cache *"
"**.cache *",
"com/sun/opengl/impl/x11/**.* *",
"jaggl/**.* *",
"javax/media/opengl/**.* *"
),
entryPoints = GlobMemberFilter(
"**.<clinit> *",
"**.main *",
"**.providesignlink *",
"client.<init> *",
"com/sun/opengl/impl/x11/DRIHack.begin *",
"com/sun/opengl/impl/x11/DRIHack.end *",
"loader.<init> *",
"unpackclass.<init> *"
),

Loading…
Cancel
Save