转载))关于某银行APP的安全分析!
本帖最后由 淡水中小红鱼 于 2015-3-17 14:14 编辑众所周知,银行类app是对安全要求非常高的,它关系到用户的个人信息安全,财产安全等等。近日,想看看银行类软件在app安全上都是如何实现的。
以下已某银行的app为例进行分析。1、按照常规思路,搜索页面中出现的关键字进行定位查找,发现没有查到任何信息。如下http://fs.ijiami.cn/ijiami/news/20140329180734006/1396087654006.png 这并不是想要的密码输入框的hint使用的转化成Unicode进行搜索是没有任何地方使用。所以判断其页面文件时从远程获取的。2、换种方式分析。通过入口文件分析。发现其是使用加载自定义控件的方式实现了界面。
并且所以的页面其实都是使用了一个activity。通过javascript和dom进行页面的跳转填充等,而且,关键点全部存储在so库中。这样。就让我们的破解无从下手3、在界面层无法找到关键点。下面我对自定义控件进行了分析。他使用了多个自定义控件,如下http://fs.ijiami.cn/ijiami/news/20140323115057890/1395546657890.png通过字面意思可以看出来Button也就是页面上的按钮了。所以的按钮都使用该控件。
里面有个MyPassWordinput。根据字面意思是我的密码输入框。
打开改文件。直接搜索getText。因为是自定义控件。则他去拿到输入内容时,需直接使用getText()方法。搜索后拿到取出来的String。 通过打印Log。得到了其输入的密码值
后记:通过多个银行app的分析。不难发现,他们对安全方面是特别重视的。很少使用android的配置文件进行页面的实现,所以的后台请求操作也都是放在so库中。但当android的安全问题导致app的java源码可以很容易的被拿到时。总是无法避免的能够拿到关键点的信息。所以,随着金融类app用户的不断增长,金融类app的安全问题日益堪忧。
转自http://my.oschina.net/1590538xiaokai/blog/308641
sfshine 发表于 2015-3-12 11:24
为什么不做混淆
做混淆就可以加强其防护了,O(∩_∩)O~ 为什么不做混淆 淡水中小红鱼 发表于 2015-3-13 11:45
做混淆就可以加强其防护了,O(∩_∩)O~
不过 就算是我们可以进行代码注入, 这些app也是需要签名的. 否则我们打包后没人用 我们也就回去不了密码了? 学习一下 谢谢分享 sfshine 发表于 2015-3-14 13:04
不过 就算是我们可以进行代码注入, 这些app也是需要签名的. 否则我们打包后没人用 我们也就回去不了密码 ...
那做重新签名就可以啦。。 mandonggua 发表于 2015-3-14 23:23
学习一下 谢谢分享
{:1_919:}相互学习。。。
页:
[1]