Android的签名校验破解
RT,最近想尝试一下逆向一个Android应用,先拿xposed的微X模块练练手,用Androidkiller反编译后,先重新打包安装测试了一下,发现提示“请勿使用盗版...”可能不太准确,但就是提示请安装正版的意思。
怀疑应该是签名校验的问题,尝试着在smail里面找了一下校验的地方,貌似是找到了,但修改后,仍然未能生效,还是提示“勿用盗版....”
希望大佬们帮看看。
smail的源码和class的源码很长,不太方便贴出来。
现在找到了一些信息:
1、Toast弹出的地方是在
b.?(this, this.?, 1);
2、计算签名字符串是在
com/fkzhang/xposed/a/a.smail里面计算的,
在MainActivity.smali里面的oncreate方法调用,付给this.'。
3、比较字符串的代码在MainActivity.smali里面
if-eqz v4, :cond_2
const-string v4, "com.fkzhang.wechatxposed"
iget-object v5, p0, Lcom/fkzhang/wechatxposed/MainActivity;->ـ:Ljava/lang/String;
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
我修改了这里的判断,直接给v5 也赋值了"com.fkzhang.wechatxposed",然后比较,但是重新编译后,还是签名校验错误,
实在找不到哪里的问题了,请大佬帮看一下。
反编译工具:apktool 2.4.1
附件为反编译出来的smail
签名破解?需要这么麻烦,删掉签名,重现签名就行了 软件只要修改过。签名就要更新。没听说不变签名就修改软件的 感觉是在so 大佬,可以尝试做一下微信共存版吗?2017年之后再无人制作共存版微信了{:1_889:} zhouzheng1201 发表于 2020-3-1 14:17
签名破解?需要这么麻烦,删掉签名,重现签名就行了
代码里面有签名校验,如果不是软件原始签名的话就直接强制退出了。 ydh 发表于 2020-3-1 13:24
软件只要修改过。签名就要更新。没听说不变签名就修改软件的
apk的MainActivity源码中,有校验签名的部分,如果签名和初始的不一致,就直接强制退出了。
Jxdm 发表于 2020-3-1 13:37
感觉是在so
没有找到和so调用相关的地方,目前从.class文件里面找到了获取本地签名然后经过解密得到签名字符串的方法,然后也找到了目标匹配的字符串,他们比较的地方也找到了,在onresume方法里面。
但是修改以后,一直没有生效。 cqliu 发表于 2020-3-1 15:31
大佬,可以尝试做一下微信共存版吗?2017年之后再无人制作共存版微信了
?什么共存版? ydh 发表于 2020-3-1 13:24
软件只要修改过。签名就要更新。没听说不变签名就修改软件的
核心破解了解一下
页:
[1]