APP安全分析之打车软件

APP安全分析之打车软件

黑客教程访客2021-10-12 0:50:0010614A+A-

  最近发现某款打车软件的APK非常的火,并听说他们进行了非常严密的防护,防止用户进行二次打包。今天我们来分析一下他的安全性到底如何。

  经过严密的分析发现:该打车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();会进行校验。如果是盗版会弹出提示:“请卸载该软件后再使用”,这种防护更没有安全性可言了。我们只需要把这行代码注释或者删除掉。这个校验就没有任何的作用了。

  笔者最后想说:

  加密技术,也是一个很是需要深度研究的项目,有兴趣的话可以多看看别人用的加密方式,也可以去研究一些专门提供加密服务的第三方平台,当然,你要是懒省事儿的话也是可以直接用的。

 

点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 4条评论
  • 鸠骨嘻友2022-05-29 02:03:03
  • 其中的getPackageInfo方法,返回我们自己的packageInfo对象。  ChangesSignture方法如下:其中的Signature的值是司机正
  • 双笙辜屿2022-05-29 03:21:04
  • 到apk的签名信息的md5签名信息上传。  第二个是:在主界面中,每次onResume中,调用一个私有类进行校验,如果校验不通过,则弹出“请卸载该软件后再使用~”的提示。迫使点击确定的方式退出app。  首先我们来说第一个校验:本身使用so作为获取签名信息的地方相应的比在
  • 竹祭木白2022-05-29 08:32:35
  • ava中获取签名信息的方式要安全。但是so获取签名信息必须给底层传递context对象。那么防护弱点也主要在这个context对象的传递上。  在com.sdu.didi.net包的
  • 断渊雾月2022-05-29 06:19:22
  • 获取签名信息必须给底层传递context对象。那么防护弱点也主要在这个context对象的传递上。  在com.sdu.didi.net包的c方法中  里面的SecurityLib.getUUID(this.b)便是调用so库的getUUID方法,并传递context。  其中UUID是在so

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理