- anchors.tsv:按用户实测把这批字段钉死 —— Z/V=x/y、F=rotation、Code/SourceFile=scaleX/scaleY、StackMapTable/LineNumberTable=shearX/shearY (证据:编辑器里 Rotate=341.456 / Translate(-168,-116) / Scale(0.8799,0.572) / Shear(-52.221,-28.63) 与 Inspector 显示值一一对应);D/B/L/I/S/C = 静止姿态组(推断);D:LGP;=skeleton、D:LGp;=parent、B:Color=color。 - names.tsv 合并后 208 条,Renamer 改名 2867 处成员引用。 - src-named 改为**每个类单独反编译、用载荷类名当文件名**:CFR 直接输出会把 GP.java/Gp.java 这类只差大小写的类写到同一个文件(macOS 文件系统不区分大小写),必须逐类产出。 - 注:CFR 对同名成员的自动改名(var_xxx 风格)不要开(--renamedupmembers),否则会盖掉我们的语义名。
2.3 KiB
2.3 KiB
| 1 | # 名字映射锚点(只放**已确定**的;每条都要能说清依据,依据写进 混淆名对照表.md) | |||
|---|---|---|---|---|
| 2 | # 列:owner | name | desc | newName (desc 写 * 表示该 owner 下所有同名成员) |
| 3 | # | |||
| 4 | # ---- libGDX:Table(载荷名 et);依据 Obf.java + 直读字节码 ---- | |||
| 5 | et | D | (Ldl;)LdR; | add |
| 6 | et | D | ([Ldl;)Let; | addAll |
| 7 | et | I | ()LdR; | row |
| 8 | et | Z | (Z)V | setFillParent |
| 9 | et | SourceFile | ()V | clearChildren |
| 10 | et | D | (Ljava/lang/CharSequence;)LdR; | addLabel |
| 11 | # ---- libGDX:Cell(载荷名 dR)---- | |||
| 12 | dR | StackMapTable | ()LdR; | expand |
| 13 | dR | D | ()LdR; | fill |
| 14 | dR | C | ()LdR; | left |
| 15 | dR | S | ()LdR; | top |
| 16 | # ---- libGDX:Button / Label(保名类)---- | |||
| 17 | com/badlogic/gdx/scenes/scene2d/ui/Button | String | ()Z | isChecked |
| 18 | com/badlogic/gdx/scenes/scene2d/ui/Button | I | (Z)V | setChecked |
| 19 | com/badlogic/gdx/scenes/scene2d/ui/Button | B | (ZZ)V | setCheckedAndFire |
| 20 | com/badlogic/gdx/scenes/scene2d/ui/Button | a_ | (Z)V | setDisabled |
| 21 | com/badlogic/gdx/scenes/scene2d/ui/Label | D | (Ljava/lang/CharSequence;)V | setText |
| 22 | com/badlogic/gdx/scenes/scene2d/ui/Label | D | ()Ljava/lang/StringBuilder; | getTextBuilder |
| 23 | # ---- libGDX:SelectBox(载荷名 KP);依据 DumpSites 解出的 (Ljava/lang/String;)V ---- | |||
| 24 | KP | B | (Ljava/lang/String;)V | setSelected |
| 25 | KP | B | ()Ljava/lang/String; | getSelected |
| 26 | KP | B | (I)V | setSelectedIndex |
| 27 | # ---- 场景模型:Gp = 骨骼;依据 gp_2.java 的 toString()/D(String,boolean)V ---- | |||
| 28 | Gp | D | Ljava/lang/String; | name |
| 29 | Gp | D | (Ljava/lang/String;Z)V | setName |
| 30 | # ---- 场景模型:Gp = 骨骼的变换字段 ---- | |||
| 31 | # 证据:用户在编辑器里把 root 转到 341.456 / 平移(-168,-116) / 缩放(0.8799,0.572) / 斜切(-52.221,-28.63), | |||
| 32 | # 面板 Inspector 同步显示 Z=-168.00009 V=-116.0 F=33.676704 Code=0.8799178 SourceFile=0.5720396 | |||
| 33 | # StackMapTable=-52.220505 LineNumberTable=-28.629883 —— 一一对应,故确定语义。 | |||
| 34 | Gp | Z | F | x |
| 35 | Gp | V | F | y |
| 36 | Gp | F | F | rotation |
| 37 | Gp | Code | F | scaleX |
| 38 | Gp | SourceFile | F | scaleY |
| 39 | Gp | StackMapTable | F | shearX |
| 40 | Gp | LineNumberTable | F | shearY |
| 41 | # 静止姿态(rest pose)那一组:值与默认姿态吻合(0,0,0,1,1,0),且未改动时与上面那组相等 —— 推断,留注释待复核 | |||
| 42 | Gp | D | F | setupX |
| 43 | Gp | B | F | setupY |
| 44 | Gp | L | F | setupRotation |
| 45 | Gp | I | F | setupScaleX |
| 46 | Gp | S | F | setupScaleY |
| 47 | Gp | C | F | setupShear |
| 48 | # 引用类字段:skeleton 由 hd.D(set, bone.D)+GP.D(LGp;) 的用法确定;parent 由创建骨骼时 bone.D=parent 确定 | |||
| 49 | Gp | D | LGP; | skeleton |
| 50 | Gp | D | LGp; | parent |
| 51 | Gp | B | Lcom/badlogic/gdx/graphics/Color; | color |