安全分析系列之某打车软件apk

阅读: 评论:0

安全分析系列之某打车软件apk

安全分析系列之某打车软件apk

最近发现打车软件的apk非常的火,并听说他们进行了非常严密的防护,防止用户进行二次打包。今天我们来分析一下他的安全性到底如何(以司机版为例)。

经过严密的分析发现:司机版主要的防护在两个地方。
第一个是:登录过程中,通过传递context对象到so库中的方式去拿到apk的签名信息的md5签名信息上传。
第二个是:在主界面中,每次onResume中,调用一个私有类进行校验,如果校验不通过,则弹出“请卸载该软件后再使用~”的提示。迫使点击确定的方式退出app。

 

首先我们来说第一个校验:本身使用so作为获取签名信息的地方相应的比在java中获取签名信息的方式要安全。但是so获取签名信息必须给底层传递context对象。那么防护弱点也主要在这个context对象的传递上。
在com.sdu.didi包的c 方法中


里面的UUID(this.b)便是调用so库的getUUID方法,并传递context。

其中UUID是在so库中通过签名信息换算过来的,this.b是application的getContext。
那么我们在application中添加重写getPackageManager方法,并修改其中的返回值。返回我们自己写的PackageManager。如下



修改其中的getPackageInfo方法,返回我们自己的packageInfo对象。


ChangesSignture方法如下:其中的Signature的值是司机正版的签名信息的MD5值。


 

通过以上的修改,经过测试。登录过程的校验已经没有任何作用了。

 

下面我们来说第二个校验:

在com.sdu.didi.gui.main包下的MainActivity中

 

其中checkCheatTool();会进行校验。如果是盗版会弹出提示:“请卸载该软件后再使用~”,这种防护更没有安全性可言了。我们只需要把这行代码注释或者删除掉。这个校验就没有任何的作用了。这种加密方法已然失效,给大家推荐一个更安全的加密方式,对apk进行加壳保护,采用这种加密方法即使apk被破解,源码也不会暴露,可以有效防止二次打包等恶意破解。


本文发布于:2024-01-30 19:15:22,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661338822225.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:打车   系列之   软件   apk
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23