帮我看看这段如何改才能跳过。
本帖最后由 飞翔中的小迪 于 2020-7-11 00:41 编辑# virtual methods
.method protected afterHookedMethod(Lde/robv/android/xposed/XC_MethodHook$MethodHookParam;)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 1
new-instance v0, Lcom/testapp/virtualmelive/entity/request/ActiveCodeRequestEntity;
invoke-direct {v0}, Lcom/testapp/virtualmelive/entity/request/ActiveCodeRequestEntity;-><init>()V
.line 2
iget-object v1, p0, Lcom/testapp/virtualmelive/z;->a:Lcom/testapp/virtualmelive/MyllHook;
invoke-static {}, Lcom/testapp/virtualmelive/util/FileUtil;->getConfig()Lcom/testapp/virtualmelive/bean/XdConfig;
move-result-object v2
iput-object v2, v1, Lcom/testapp/virtualmelive/MyllHook;->k:Lcom/testapp/virtualmelive/bean/XdConfig;
.line 3
iget-object v1, p0, Lcom/testapp/virtualmelive/z;->a:Lcom/testapp/virtualmelive/MyllHook;
iget-object v1, v1, Lcom/testapp/virtualmelive/MyllHook;->k:Lcom/testapp/virtualmelive/bean/XdConfig;
if-eqz v1, :cond_64
iget-object v1, v1, Lcom/testapp/virtualmelive/bean/XdConfig;->getActiveCode:Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_64
iget-object v1, p0, Lcom/testapp/virtualmelive/z;->a:Lcom/testapp/virtualmelive/MyllHook;
iget-object v1, v1, Lcom/testapp/virtualmelive/MyllHook;->k:Lcom/testapp/virtualmelive/bean/XdConfig;
iget-object v1, v1, Lcom/testapp/virtualmelive/bean/XdConfig;->xtoken:Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_64
iget-object v1, p0, Lcom/testapp/virtualmelive/z;->a:Lcom/testapp/virtualmelive/MyllHook;
iget-object v1, v1, Lcom/testapp/virtualmelive/MyllHook;->k:Lcom/testapp/virtualmelive/bean/XdConfig;
iget-object v1, v1, Lcom/testapp/virtualmelive/bean/XdConfig;->devicecode:Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_34
goto :goto_64
.line 4
:cond_34
iget-object v1, p0, Lcom/testapp/virtualmelive/z;->a:Lcom/testapp/virtualmelive/MyllHook;
iget-object v2, v1, Lcom/testapp/virtualmelive/MyllHook;->k:Lcom/testapp/virtualmelive/bean/XdConfig;
iget-object v2, v2, Lcom/testapp/virtualmelive/bean/XdConfig;->getActiveCode:Ljava/lang/String;
iput-object v2, v0, Lcom/testapp/virtualmelive/entity/request/ActiveCodeRequestEntity;->codekey:Ljava/lang/String;
.line 5
iget-object v1, v1, Lcom/testapp/virtualmelive/MyllHook;->r:Lwb;
invoke-interface {v1, v0}, Lwb;->noiceUserActiveCode(Lcom/testapp/virtualmelive/entity/request/ActiveCodeRequestEntity;)Lio/reactivex/A;
move-result-object v0
.line 6
invoke-static {}, Lje;->schedulersTransformer()Lio/reactivex/G;
move-result-object v1
invoke-virtual {v0, v1}, Lio/reactivex/A;->compose(Lio/reactivex/G;)Lio/reactivex/A;
move-result-object v0
.line 7
invoke-static {}, Lje;->exceptionTransformer()Lio/reactivex/G;
move-result-object v1
invoke-virtual {v0, v1}, Lio/reactivex/A;->compose(Lio/reactivex/G;)Lio/reactivex/A;
move-result-object v0
new-instance v1, Lcom/testapp/virtualmelive/y;
invoke-direct {v1, p0}, Lcom/testapp/virtualmelive/y;-><init>(Lcom/testapp/virtualmelive/z;)V
invoke-virtual {v0, v1}, Lio/reactivex/A;->doOnSubscribe(LPc;)Lio/reactivex/A;
move-result-object v0
new-instance v1, Lcom/testapp/virtualmelive/x;
invoke-direct {v1, p0, p1}, Lcom/testapp/virtualmelive/x;-><init>(Lcom/testapp/virtualmelive/z;Lde/robv/android/xposed/XC_MethodHook$MethodHookParam;)V
.line 8
invoke-virtual {v0, v1}, Lio/reactivex/A;->subscribe(Lio/reactivex/H;)V
return-void
.line 9
:cond_64
:goto_64
iget-object p1, p0, Lcom/testapp/virtualmelive/z;->a:Lcom/testapp/virtualmelive/MyllHook;
const-string v0, "没有正常激活"
invoke-static {p1, v0}, Lcom/testapp/virtualmelive/MyllHook;->c(Lcom/testapp/virtualmelive/MyllHook;Ljava/lang/String;)V
return-void
.end method
class f extends XC_MethodHook {
final /* synthetic */ MyllHook a;
f(MyllHook myllHook) {
this.a = myllHook;
}
protected void afterHookedMethod(XC_MethodHook.MethodHookParam methodHookParam) throws Throwable {
ActiveCodeRequestEntity activeCodeRequestEntity = new ActiveCodeRequestEntity();
this.a.k = FileUtil.getConfig();
XdConfig xdConfig = this.a.k;
if (xdConfig == null || TextUtils.isEmpty(xdConfig.getActiveCode) || TextUtils.isEmpty(this.a.k.xtoken) || TextUtils.isEmpty(this.a.k.devicecode)) {
MyllHook.c(this.a, "没有正常激活");
return;
}
MyllHook myllHook = this.a;
activeCodeRequestEntity.codekey = myllHook.k.getActiveCode;
myllHook.n.noiceUserActiveCode(activeCodeRequestEntity).compose(Xd.schedulersTransformer()).compose(Xd.exceptionTransformer()).doOnSubscribe(new e(this)).subscribe(new d(this, methodHookParam));
}
}
longsui48 发表于 2020-7-11 17:37
那就是有地方还有验证啊 继续改就行了
原来去掉了登录框加了激活码后, 运行功能回闪退, 改这里面的代码就不会闪退了,但是功能实现不了,
我现在找不到问题出在哪了,这里面应该只是验证有没有正常激活啊, 没有头绪 飞翔中的小迪 发表于 2020-7-11 17:56
原来去掉了登录框加了激活码后, 运行功能回闪退, 改这里面的代码就不会闪退了,但是功能实现不了,
...
对的 估计就是检验有没有正常激活而已 功能前面应该还有验证 这不是很简单吗? 改if-eqz啊 longsui48 发表于 2020-7-10 17:59
这不是很简单吗? 改if-eqz啊
有些改了会出错,我都删了很多 但是最后运行的时候还是会出现没有正常激活 longsui48 发表于 2020-7-10 17:59
这不是很简单吗? 改if-eqz啊
登录框 验证码都已经改好了,当是运行软件功能的时候好像会判断有没有正常激活. 049nop 061jmp byh3025 发表于 2020-7-10 20:37
049nop 061jmp
061改nez049 删掉了 运行会出错。 java的代码也贴上去了啊 飞翔中的小迪 发表于 2020-7-10 18:09
登录框 验证码都已经改好了,当是运行软件功能的时候好像会判断有没有正常激活.
这个就不知道了 你就贴了这一点代码 根本分析不出来什么 现在能告诉你的就是改判断条件 longsui48 发表于 2020-7-11 17:11
这个就不知道了 你就贴了这一点代码 根本分析不出来什么 现在能告诉你的就是改判断条件
给每个都赋值 现在功能没实现很头疼。 飞翔中的小迪 发表于 2020-7-11 17:22
给每个都赋值 现在功能没实现很头疼。
那就是有地方还有验证啊 继续改就行了
页:
[1]
2