某蚂蚁森林插件破解验证、破解激活,修复双开支付宝异常
本帖最后由 litianping 于 2019-12-23 18:04 编辑# 一、前言
捐赠了50块钱使用后,有两个问题:
1. 本人两个支付宝的号,作者只给激活一个号
2. 魅族手机,不支持系统自带的双开,双开了支付宝之后,插件会启动不了。
# 二、开始修改
### **1. 反编译,再回编译,编译失败,报错f.xml的自定义View的属性找不到**
直接去掉这些自定义属性
### **2. 再回编译,报错manifest的属性**
把这些属性去掉
### **3. 编译签名安装运行,报错找不到activity-alias**
去掉activity-alias,把`<category android:name="android.intent.category.LAUNCHER"/>`放到`MainActivity`的第一个`<intent-filter>`下面
### **4. 编译签名安装运行,报错提示: 检测到你正在使用盗版应用,请加群联系我获取正版**
搜索这个提示字符串,在string.xml看到名称是`o`,在public搜索`type="string" name="o"`,看到id为`0x7f08000e`,全局搜索这个id,看到在MainActivity的onCrate里面进行了签名的判断,看到代码是最后一个判断进行操作的,在smali直接把判断去掉即可
直接移除这一行调用代码即可。
### **5. 编译签名安装运行,闪退**
根据错误日志,看到是jni报错了,应该是内部进行了签名验证,解决方法有两种,1是不修改签名,2是把jni调用去掉。这里采用方法2,看到代码是在MainActivity的onCreate里面的JniUtils.s的方法里面判断的,直接把判断注释即可:
```
#把这一行注释掉
#invoke-static {p0}, Lcom/vip/utils/JniUtils;->s(Landroid/content/Context;)I
```
直接移除这一行调用代码即可。
### **6. 编译签名安装运行,正常打开了。xposed勾选插件重启手机,打开支付宝提示:你的激活码尚未注册**
全局搜索这个激活提示,找到对应逻辑代码在: com.vip.antforest.foresturils.AntForestTask里面,可以看到这个方法是显示错误信息的弹窗,然后看到调用处,看到有很多个判断,看到其中判断是靠一个布尔值变量去记录,看到smali代码,直接把跳转:cond_1剪切到正确的代码上:
```
if-eqz v4, :cond_1
#把下面的:cond_1剪切到这个位置
:cond_1
.line 82
sput-boolean v1, Lcom/vip/antforest//;->:Z
const-string v4, "1aup3ryW1Zi/0Yi21ICK0Lqg3bKt1KKf0b6a"
```
### **7. 双开了支付宝,第二次启动支付宝的之后,发现插件不启动了**
暂时解决方法是判断是双开的程序就不启用插件:
修改com.vip.antforest.XposedInit的handleLoadPackage方法代码,判断如果内存卡路径包含了999就直接return(ps:魅族的双开内存卡路径是999,其他系统不知道,自行处理):
```
# virtual methods
.method public handleLoadPackage(Lde/robv/android/xposed/callbacks/XC_LoadPackage$LoadPackageParam;)V
.registers 4
.param p1, "loadPackageParam" # Lde/robv/android/xposed/callbacks/XC_LoadPackage$LoadPackageParam;
.prologue
.line 11
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
.line 12
.local v0, "path":Ljava/lang/String;
# 这里添加路径名字,其余系统自行修改
const-string v1, "999"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_11
.line 17
:goto_10
return-void
.line 15
:cond_11
invoke-static {p1}, Lcom/vip/antforest/AliMobileAntiInjectHook;->hook(Lde/robv/android/xposed/callbacks/XC_LoadPackage$LoadPackageParam;)V
.line 16
invoke-static {p1}, Lcom/vip/antforest/;->(Lde/robv/android/xposed/callbacks/XC_LoadPackage$LoadPackageParam;)V
goto :goto_10
.end method
```
# 三、成品
木有成品,过程都说了。自己动手丰衣足食。 设计师三七 发表于 2019-12-23 18:29
可以很棒 但是我看不懂哈哈哈哈
会的人不难,不会的人超难 很详细,但是不想用这个 所以这个是啥模块嘞。。。XQE不香吗 和钱沾边的东西 宁愿麻烦点也不图方便 某蚂蚁森林插件的下载地址有吗 老哥这是能分享吗 可以很棒 但是我看不懂哈哈哈哈 我支付宝里20位数的存款有危险嘛{:17_1089:} 插件什么的没用过 几个小号够了! 花钱的不要。 讲解得很详细,谢谢了。