public void reportAdrOpen(String str, String str2) {
new 2(this, str, str2, str, str2).C();
}
new 一个 2 ?这里有没有大神讲一下是什么意思?
1
0myun 2019-04-14 00:32:38 +08:00 1
|
2
Nitroethane 2019-04-14 00:49:23 +08:00 via Android 2
代码被混淆了,类和方法名被替换成了无意义的字符
|
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 这个文件
|