本帖最后由 风绕柳絮轻敲雪 于 2019-12-17 18:21 编辑
1.先用上帝模式这个XP插件看一下广告的控件类型
2.由上图可知,这是个自定义视图,视图所在的类为b.a.d,就第一个,点进去看看代码
3.发现了以下可疑的代码,b方法为false就移除该布局下的所有视图,跳转过去看看
[Java] 纯文本查看 复制代码
public void d() {
int i;
if (c.b(getContext())) {
b bVar = this.R7;
if (bVar != null) {
try {
bVar.h();
} catch (Exception e) {
e.printStackTrace();
}
}
i = 1;
} else {
removeAllViews();
setVisibility(8);
b();
i = 0;
}
if (i != T7) {
T7 = i;
b.c.a.a(getContext(), "ads", T7 > 0 ? "1" : "0");
}
}
4.看看b方法的代码,就是个异或判断,相同就是0,不同就是1,也就是说,最终结果要为0,那么a这个方法必须返回1,继续跳到a看看
[Java] 纯文本查看 复制代码
public static boolean b(Context context) {
return f.a(context, "no.advertisement") ^ 1;
5.a方法就是一顿HashMap 的put和get操作,但是毫无卵用,全删除,返回1就行了
[Java] 纯文本查看 复制代码
public static boolean a(Context context, String str) {
boolean z;
Class cls = f.class;
synchronized (c) {
z = false;
if (b <= 0) {
a(context, context.getSharedPreferences("license", 0));
a.b(cls, "SLC: check: load from prefs");
} else {
a.b(cls, "SLC: check: cache ok");
}
HashMap hashMap = c;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("License.");
stringBuilder.append(str);
String str2 = (String) hashMap.get(stringBuilder.toString());
if (!(str2 == null || str2.isEmpty())) {
z = true;
}
}
return z;
}
所以MT2管理器上的修改方法就是找到app.b.f下的a方法修改如下
[Java] 纯文本查看 复制代码
const/4 v0, 0x1
return v0
就这样,完工
|