爱加密安全分析系列之某打车软件apk
2014-02-19 10:22
253 查看
最近发现打车软件的apk非常的火,并听说他们进行了非常严密的防护,防止用户进行二次打包。今天我们来分析一下他的安全性到底如何(以司机版为例)。
经过严密的分析发现:司机版主要的防护在两个地方。
第一个是:登录过程中,通过传递context对象到so库中的方式去拿到apk的签名信息的md5签名信息上传。
第二个是:在主界面中,每次onResume中,调用一个私有类进行校验,如果校验不通过,则弹出“请卸载该软件后再使用~”的提示。迫使点击确定的方式退出app。
首先我们来说第一个校验:本身使用so作为获取签名信息的地方相应的比在java中获取签名信息的方式要安全。但是so获取签名信息必须给底层传递context对象。那么防护弱点也主要在这个context对象的传递上。
在com.sdu.didi.net包的c 方法中
里面的SecurityLib.getUUID(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();会进行校验。如果是盗版会弹出提示:请卸载该软件后再使用~”,这种防护更没有安全性可言了。我们只需要把这行代码注释或者删除掉。这个校验就没有任何的作用了。
这种传统的加密方法已然失效,给大家推荐一个更安全的加密方式,对APP进行加壳保护,采用这种加密方法即使APP被破解,源码也不会暴露,可以有效防止二次打包等恶意破解,目前这种加密服务是由第三方服务平台提供的,网址:*** 各位可以去体验加密。
经过严密的分析发现:司机版主要的防护在两个地方。
第一个是:登录过程中,通过传递context对象到so库中的方式去拿到apk的签名信息的md5签名信息上传。
第二个是:在主界面中,每次onResume中,调用一个私有类进行校验,如果校验不通过,则弹出“请卸载该软件后再使用~”的提示。迫使点击确定的方式退出app。
首先我们来说第一个校验:本身使用so作为获取签名信息的地方相应的比在java中获取签名信息的方式要安全。但是so获取签名信息必须给底层传递context对象。那么防护弱点也主要在这个context对象的传递上。
在com.sdu.didi.net包的c 方法中
里面的SecurityLib.getUUID(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();会进行校验。如果是盗版会弹出提示:请卸载该软件后再使用~”,这种防护更没有安全性可言了。我们只需要把这行代码注释或者删除掉。这个校验就没有任何的作用了。
这种传统的加密方法已然失效,给大家推荐一个更安全的加密方式,对APP进行加壳保护,采用这种加密方法即使APP被破解,源码也不会暴露,可以有效防止二次打包等恶意破解,目前这种加密服务是由第三方服务平台提供的,网址:*** 各位可以去体验加密。
相关文章推荐
- 安全分析系列之某打车软件apk
- (爱加密系列教程十一) 关于某银行apk的安全分析
- (爱加密系列教程十一) 关于某银行apk的安全分析
- APP安全分析之打车软件
- Google收购安全分析软件厂商Zynamics
- 【Android安全】APK静态分析-DEX反编译为Smali逆向分析
- 国科大软件安全与漏洞分析第一次作业
- 软件安全与脆弱性分析-对于freenote小程序的Poc分析
- NET温故而知新学习系列之网站安全技术—web.config加密和解密
- 【Android SDK程序逆向分析与破解系列】之五:Android APK的静态分析
- 网络安全系列之五十二 组策略中的软件限制策略
- 深圳市软件质量提升工程系列活动——安全测试百人大课堂
- 工业网络安全:TRITON恶意软件简单分析与防护方案
- Java安全系列-RSA加密
- 月光博客 - 再谈软件保护中软加密和硬加密的安全强度
- 用Qt写软件系列五:一个安全防护软件的制作(3)
- Android软件安全与逆向分析
- 0day安全-软件漏洞分析技术(第一版)--8_3_vtable 虚表攻击源码改造
- [转载]软件加密市场需求与产品互动分析
- 加密软件的加密技术发展分析