Splash0Activity
,还以为广告相关的代码也在这个activity(以往遇到的很多app的广告都是在Splash0Activity
),但是看了一圈发现没有。于是请出MT管理器的activity记录器,发现是Splash0Activity
(这个activity只有几秒的选择线路的画面)之后有个AdvertActivity,应该是广告的Activity。**if** (position >= **this**.data.size())
的判断取反。结果也是可以直接过掉这个广告的。checkoutPackageName(activity) && activity.getString(R.string.app_signature).equals(getSignature(activity));
看checkAPP的主要代码,用于检查当前包的签名和原始的是否一致,同时检查包名与原始的是否一致。不调用checkPackage()就直接把上面这一句smali代码注释掉即可。
goLoginByPhone
函数。@MethodInfo(name = "user/loginbyphone")
是一个自定义注解,它指定了该方法的元信息或元数据。在这种情况下,name = "user/loginbyphone"
表示该方法是用于通过手机号码进行登录的操作,其名称为 "user/loginbyphone"。Util.isLogin()
进行判断,从函数名可以看出这是判断是否登录的函数。isLogin()
判断用户信息是否为空,先试试把!=null改为null看看效果。
public static boolean isLogin() {
return APP.getInstance().getUserInfo() != null;
}
public static synchronized APP getInstance() {
APP app2;
synchronized (APP.class) {
app2 = app;
}
return app2;
}
public void requestUserInfo(int uid) {
Client.getInstance().getApiService().getUserInfo(new ReqUserInfo(uid)).subscribe(new SimpleObserver<BaseData<UserInfo>>() { // from class: com.re.ng.juu.APP.4
@Override // com.re.ng.juu.http.SimpleObserver, io.reactivex.Observer
public void onNext(BaseData<UserInfo> userInfoBaseData) {
UserInfo data = userInfoBaseData.getData();
if (APP.this.userInfo != null) {
data.setChess_url(APP.getInstance().userInfo.getChess_url());
}
APP.getInstance().userInfo = data;
Log.d(EventMessage.TAG, "EventBus post : " + data.getFrame());
EventBus.getDefault().post(new EventMessage(256, APP.this.userInfo));
APP.getInstance().userInfo.setPurchaseMode();
}
});
}
修改完上面的代码。可以安装,但是闪退
const-string v0, "1"
iput-object v0, p0, Lcom/re/ng/juu/entity/bean/UserInfo;->vip_grade:Ljava/lang/String;
修改为:const-string v0, "1"
iput-object v0, p0, Lcom/re/ng/juu/entity/bean/UserInfo;->vip_grade:Ljava/lang/String;
保存后就变为了:
const-string p0, "1"
iput-object p0, p0, Lcom/re/ng/juu/entity/bean/UserInfo;->vip_grade:Ljava/lang/String;
因为set函数会根据入参进行复制,所以这里要用参数寄存器p。
所以要将上述代码修改为:
const-string p1, "1"
iput-object p1, p0, Lcom/re/ng/juu/entity/bean/UserInfo;->vip_grade:Ljava/lang/String;