酷安应用市场是有广告的,去除广告或者布局就要先对app去除签名校验,比如mt一键。但是基本上都用了一键功能,没人说怎么直接改app。
手动修改的话smali是没戏了,我试过,返回的字符串不知道是什么,所以只能修改so达到去除签名校验的目的,软件样品为当前最新版。
准备工具:
1、NP管理器
2、16进制编辑器
3、IDA
1.png (77.93 KB, 下载次数: 0)
下载附件
2020-9-26 09:43 上传
1.png (23.86 KB, 下载次数: 0)
下载附件
2020-9-26 10:14 上传
重签名后软件出现了喜闻乐见的提示,搜索一下关键字,发现有2个目标,第一个肯定不是,那个应该是视频解码器,用于播放各种推广视频或者用户上传的视频。现在来看第二个,拖进IDA分析。
先介绍第一种比较容易上手的改法,这个方法的缺点是别人可以随意二改你的成品,不需要拦截原签名,比如加个引流弹窗,入群收费等。
加载so完毕后打开输出窗口,定位到【
checkSignature
(_JNIEnv *,_jobject *,_jstring *)】,双击进去,然后拉到后面。
1.png (61.85 KB, 下载次数: 0)
下载附件
2020-9-26 10:24 上传
如上图,strcmp指令为比较字符串,应该是比较签名Base64。r0为获取到的签名值,如果和so储存的不一样就会出现上面的问题。所以第一种改法就是让so无论如何都输出正确的数值。
定位到指令
LSRS R0, R0, #5
,改成
MOVS R0, #1
(0120)。
1.png (34.81 KB, 下载次数: 0)
下载附件
2020-9-26 10:43 上传
如上图,改了之后放回去测试可正常运行。
第二种改法就比较麻烦,好处就是别人需要拦截签名才能修改。当然一键的东西不算麻烦
既然so是比较字符串,把so的值改成你自己的签名值就好了。
原签名值为:
[ol]
重签名后用NP管理器查看签名值,复制下来。so用010Editor打开,直接搜索定位,然后把复制下来的签名值粘贴下去,余下的用00填充。
1.png (55.28 KB, 下载次数: 0)
下载附件
2020-9-26 10:54 上传
这样就能保证签名前后对比一致了。
1.png (157.71 KB, 下载次数: 0)
下载附件
2020-9-26 10:55 上传