
1 0myun 2019-04-14 00:32:38 +08:00 |
2 Nitroethane 2019-04-14 00:49:23 +08:00 via Android 代码被混淆了,类和方法名被替换成了无意义的字符 |
3 ghd700 OP |
4 googlelalala 2019-04-14 06:48:24 +08:00 via Android 现在不是都被混淆了吗? |
5 whileFalse 2019-04-14 07:35:45 +08:00 类名可以是个数字? |
6 610xiao 2019-04-14 08:53:06 +08:00 直接看 smali 层就行了 |
7 zealot0630 2019-04-14 09:01:59 +08:00 via Android @whileFalse 好像是可以,jvm 层面的限制比 Java 层面宽松多了 |
8 HhZzXx 2019-04-14 09:28:45 +08:00 ```java public class S { private void a() { Object a = new Object() { { } }; } } ```` 这段代码,用 jdk8 编译后,会产生两个 class 文件,`S.class`,`S$1.class`,用 fernflower 反编译`S.class`,可以看到如下信息 ```java import S.1; public class S { public S() { super(); } private void a() { new 1(this); } } ``` 而`S$1.class`反编译后的是这个 ```java class S$1 { // $FF: synthetic field final S this$0; S$1(S this$0) { super(); this.this$0 = this$0; } } ``` |
9 Blanke 2019-04-14 10:39:27 +08:00 这个是内部类,直接看当前类名$2.class 这个文件 |