Locus Map 3.38.0+版本修改
从3.38.0版本开始,Locus最低支持Andorid版本为 5.0。
Android 5.0版本开始,系统再启动App时会先把所有的dex加载进来,无需再把启动时要用到的class放在第一个dex文件中。
修改方案:
过签名检查。证数签名hash值为:0x1a222754、-0x100cbe4d、-0x53ad97d7
增加动态库so。3.38版本安装包没有自带so文件,全部需要从Android Play下载。增加lib目录,把网友分享的armeabi-v7a目录整个拷贝进去。
删除启动时下载动态库用户界面。
Locus启动时会做检查判断是否要显示信息提示界面,依次为用户协议、隐私条款、权限申请、登录Play账号下载适合系统的动态库(国产手机无play功能,一般直接显示一个错误码)。
关键字:“isScreenRequired(), offline checks valid”
含关键字字符串的类smali文件中:(ZZ)Z签名方法返回false时,不显示下载界面。1
2
3
4
5.method public ˏ(ZZ)Z
.locals 1
const/4 v0, 0x0
return v0
.end method过功能限制
修改com\asamm\locus\utils\Native.smali文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24.method public static isFullFeatured(Landroid/app/Application;)Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public static native isValid(Landroid/app/Application;)V
.end method
.method public static performAction(Landroid/app/Application;Ljava/lang/Runnable;)V
.locals 1
new-instance v0, Ljava/lang/Thread;
invoke-direct {v0, p1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
.line 39
return-void
.end method加载增强功能
把增强包代码拷贝到最后一个smali_classes目录,在合适的地方加载自己的增强包。
1 | new-instance v0, Lorg/gyh/bdsearch; |