Commit 8281bff
[1.20.4] Feat: Dynamic qualifier deobfuscation (#117)
This pull requests implements a brand new dynamic class remapping that
uses the existing dynamic reflection serializer
It allows reflection of obfuscated minecraft members for the packet
logger module
Mappings are downloaded from our cloudflare bucket at
`mappings.lambda-client.org` and are stored loosely in the cache folder
Before:
```
net.minecraft.class_2672
field_12236: -10
field_12235: -4
field_34870: net.minecraft.class_6603@721373fb
net.minecraft.class_6603
field_34862: 2097152
field_34863: {MOTION_BLOCKING:[L;3086490446775277226L,3122730762615747244L,3104504914273194157L,3339185846487446187L,3104540029253932717L,3519681675303147692L,3104399154733218493L,3519470292041816236L,3050427429879123655L,3411242338997591207L,3411595972921364163L,3140639401982644921L,3591915948460571321L,3140639607472093891L,3591739268801584302L,3266845471266932423L,3411242545290239149L,3086984267357324989L,3194753034973702833L,3339185846487446191L,3104504846089803442L,3339184675971488428L,3032729277053101234L,3086490446640796329L,3248902058093139627L,3050355889943694515L,3230605634851133098L,2996242119247620788L,3086490446640533671L,2960143917570156202L,3068440725916568229L,3230887659449177258L,3014256517618681506L,3050391143438701737L,2942093163902356648L,3050391143303957669L,22189789353L],WORLD_SURFACE:[L;3086490446775277227L,3122730762615747244L,3104504914273194157L,3339185846487446187L,3122554427763414701L,3519681675303147692L,3104399154733218493L,3519470292041816236L,3050427429879123655L,3411242338997591207L,3411595972921364163L,3140639401982644921L,3591915948460571321L,3140639607472093891L,3591739268801584303L,3266845471266932423L,3411242545290239149L,3086984267357324989L,3194753035108182705L,3339185846487446191L,3104504846089803442L,3339184676105706156L,3032729277053101234L,3086490446640796329L,3248902058093139627L,3050355889943694515L,3230605634851133098L,2996242119247620788L,3086490446640533671L,2960143917570156202L,3068440725916568229L,3230887659449177258L,3014256517618681506L,3050391143438701737L,2942093163902356648L,3050391143303957669L,22189789353L]}
field_34864: [B@62e634ff
field_34865: []
field_34871: net.minecraft.class_6606@703b0ecd
net.minecraft.class_6606
field_34873: {2, 3, 4, 11, 12, 13, 14}
field_34874: {2, 3, 4, 9, 11}
field_34875: {0, 1, 5, 6, 7, 8, 9, 10}
field_34876: {0, 1, 5, 6, 7, 8, 10, 12, 13, 14}
field_34877: [[B@5ebc4893, [B@d2ece77, [B@92524f5, [B@21c01e7a, [B@1d843201, [B@66220ab0, [B@4680880d]
field_34878: [[B@67926d69, [B@5b3a5fa0, [B@2d3ba9fd, [B@6f398cb7, [B@1bb44d1c]
```
After:
```
ChunkDataS2CPacket
chunkX: -10
chunkZ: -8
chunkData: ChunkData@349c0420
ChunkData
MAX_SECTIONS_DATA_SIZE: 2097152
heightmap: {MOTION_BLOCKING:[L;2797696018872349336L,2761561462444734620L,2797660766991106717L,2743582454868686491L,2942234244450431640L,2779716873588913827L,3121884685859631257L,2797696501120061101L,2761562013141382299L,2924079110605333144L,2888049830799423138L,3122730831997644960L,2941987128944969383L,3212836218723190435L,2779646918238493361L,2743547614632689824L,2779928462473126577L,2743829089607038106L,2942234246602109080L,2815745464315232416L,2942234243778031772L,2815675577414271651L,2941705447942471324L,2887979531044733603L,2815745877438445722L,2924078765392867996L,2815851223858102433L,2905993859626253983L,2815675165097411234L,2887838656116899484L,2779857886762058400L,2924078765123384474L,2887944277684468381L,2869894419118109850L,2924043374593916578L,2815675164291579554L,21382381212L],WORLD_SURFACE:[L;2797696018872349336L,2761561462444734620L,2797660766991106717L,2761596853378168475L,2942234244450431641L,2779716873723393699L,3121884685859631770L,2797696501120061101L,2761562013141382299L,2924079110605333144L,2888049830799423138L,3122730831997907104L,2941987128944969383L,3212836218723190435L,2779682102610582193L,2743547614632689824L,2779928462473126577L,2761843488116520090L,2942234246602109080L,2815745533034709152L,2942234243778032284L,2815675577414271651L,2941740632314560156L,2887979531044733603L,2815745877438445722L,2924078765392867996L,2815851223858364577L,2905993859760471711L,2815675165097411234L,2887838656116899484L,2779857886762058400L,2924078765123384986L,2887944277684468381L,2869894419118109850L,2924043374593916578L,2815745670474710690L,21382381212L]}
sectionsData: [B@1acfdb99
blockEntities: []
lightData: LightData@37f330be
LightData
initedSky: {2, 10, 11, 12, 13}
initedBlock: {2, 3, 4, 10}
uninitedSky: {0, 1, 3, 4, 5, 6, 7, 8, 9}
uninitedBlock: {0, 1, 5, 6, 7, 8, 9, 11, 12, 13}
skyNibbles: [[B@5e55fb7b, [B@3aa2f03b, [B@37a46db0, [B@197ccd3a, [B@6803634d]
blockNibbles: [[B@458d755e, [B@51d059b2, [B@2e3a4baf, [B@5dd05c2e]
```
This pull request also revamps the file utilities with a more
streamlined and functional approach
Examples:
```kt
File("...")
.downloadCompare(url = "...", 1) // Download if remote is larger than local
File("...")
.downloadIfNotPresent(url = "...") { header("key", "value") } // Create the file and download the content to it; Modify the http request before posting
```
---------
Co-authored-by: Constructor <fractalminds@protonmail.com>1 parent 1a677bf commit 8281bff
File tree
17 files changed
+441
-80
lines changed- common/src/main
- java/com/lambda/mixin
- kotlin/com/lambda
- command/commands
- module/modules
- client
- network
- player
- network
- api/v1/endpoints
- util
- extension
- resources
17 files changed
+441
-80
lines changedLines changed: 79 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | | - | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
54 | 58 | | |
55 | 59 | | |
56 | 60 | | |
| |||
Lines changed: 4 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
40 | | - | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
87 | 86 | | |
88 | 87 | | |
89 | 88 | | |
| |||
105 | 104 | | |
106 | 105 | | |
107 | 106 | | |
108 | | - | |
| 107 | + | |
109 | 108 | | |
110 | 109 | | |
111 | 110 | | |
112 | 111 | | |
113 | 112 | | |
114 | 113 | | |
115 | 114 | | |
116 | | - | |
117 | 115 | | |
118 | 116 | | |
119 | 117 | | |
| |||
144 | 142 | | |
145 | 143 | | |
146 | 144 | | |
147 | | - | |
148 | | - | |
| 145 | + | |
| 146 | + | |
149 | 147 | | |
150 | 148 | | |
151 | 149 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | | - | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | | - | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
39 | 40 | | |
40 | | - | |
41 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
42 | 50 | | |
43 | 51 | | |
44 | 52 | | |
| 53 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
0 commit comments