众所周知,银行类app是对安全要求非常高的,它关系到用户的个人信息安全,财产安全等等。近日,想看看银行类软件在app安全上都是如何实现的。
以下已某银行的app为例进行分析。
1、按照常规思路,搜索页面中出现的关键字进行定位查找,发现没有查到任何信息。如下
这并不是想要的密码输入框的hint使用的
转化成Unicode进行搜索是没有任何地方使用。
所以判断其页面文件时从远程获取的。
2、换种方式分析。通过入口文件分析。发现其是使用加载自定义控件的方式实现了界面。
并且所以的页面其实都是使用了一个activity。通过javascript和dom进行页面的跳转填充等,而且,关键点全部存储在so库中。这样。就让我们的破解无从下手
3、在界面层无法找到关键点。下面我对自定义控件进行了分析。他使用了多个自定义控件,如下
通过字面意思可以看出来Button也就是页面上的按钮了。所以的按钮都使用该控件。
里面有个MyPassWordinput。根据字面意思是我的密码输入框。
打开改文件。直接搜索getText。因为是自定义控件。则他去拿到输入内容时,需直接使用getText()方法。搜索后拿到取出来的String。 通过打印Log。得到了其输入的密码值
后记:通过多个银行app的分析。不难发现,他们对安全方面是特别重视的。很少使用android的配置文件进行页面的实现,所以的后台请求操作也都是放在so库中。但当android的安全问题导致app的java源码可以很容易的被拿到时。总是无法避免的能够拿到关键点的信息。所以,随着金融类app用户的不断增长,金融类app的安全问题日益堪忧
更多内容,期待您的探索,请关注爱加密,让您精彩不断!http://www.ijiami.cn/
APP检测工具:http://safe.ijiami.cn/