本文章由Jack_Jia编写,转载请注明出处。
文章链接:http://blog.csdn.net/jiazhijun/article/details/8691704
作者:Jack_Jia 邮箱:309zhijun@163.com
一、序言
目前市面上已存在大量优秀权限管理工具,LBE就是其中的一个,不过LBE权限管理功能只有在用户设备已经ROOT后才能使用,今天我们来分析一款号称“不需要Root就能控制手机权限”的Android软件---洗大师。
用户可以通过http://www.xidashi.com/下载该应用及了解其工作原理。
软件基本信息如下:
二、实现原理分析
通过网站介绍我们可知,洗大师的工作流程是:
1、用户通过洗大师上传本地应用到洗大师云清洗服务器请求清洗应用。
2、洗大师云清洗服务器通过算法并应用进行清洗。
3、用户下载安装清洗后的应用。
我们通过编写Demo的方式来测试洗大师的工作原理及清洗的程度,看看洗大师权限管理是否能够有效遏制恶意软件的恶意行为。
发送短信是很多恶意吸费软件的必备行为,目前恶意软件发送短信的方式有以下几种:
1、通过SmsManager.sendTextMessage直接发送。
2、通过反射调用SmsManager发送短信。
3、通过DexClassLoader动态加载外部dex,完成短信发送。
我们的Demo程序将使用以上三种方式发送短信,看洗大师的清洗程度如何。
Demo界面如下:
Demo关键代码如下:
switch (v.getId()) {
case R.id.button1:
SmsManager ms = SmsManager.getDefault();
ms.sendTextMessage("5554", null, "test1", null, null);
break;
case R.id.button2:
try {
Class smClass = Class.forName("android.telephony.SmsManager");
Method defaultMethod = smClass.getDeclaredMethod("getDefault", new Class[]{});
Object smObject = defaultMethod.invoke(null, new Object[]{});
Method sendMethod = smClass.getMethod("sendTextMessage", new Class[]{String.class,String.class,String.class,PendingIntent.class,PendingIntent.class});
sendMethod.invoke(smObject, new Object[]{"5554",null,"test2",null,null});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case R.id.button3:
try {
DexClassLoader dex = new DexClassLoader(this.getFilesDir().getPath()+"a.dex", "/sdcard/",null,getClassLoader());
Class sm = dex.loadClass("com.xidashi.test.SMSSend");
SMSSend obj = (SMSSend)sm.newInstance();
obj.sendSMS("5554","test3");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
经洗大师清洗后的代码如下:
通过清洗前后的代码我们就可以清楚的看出洗大师在清洗过程就是敏感api的替换过程,
该种工作方式同DroidBox安全项目的APIMonitor(https://code.google.com/p/droidbox/wiki/APIMonitor)工作原理基本相同,都是通过替换敏感api来添加自己的逻辑。
三、结论
通过洗大师清洗前后的代码我们可以得出以下结论:
1、洗大师通过替换敏感API来完成权限的管理。
2、洗大师并不能有效遏制恶意软件。
因为洗大师只能替换直接的API调用,但是恶意程序经常用到的反射,动态加载调用,洗大师都不能有效的处理。
分享到:
相关推荐
最新版本的易房大师授权码,是二手房中介的得力助手
管理大师德鲁克管理学精髓,让大家学习学习
我用了很久以后分析软件很好用.渤海软件建议大师
建筑大师案例分析.pptx
资料管理大师一个很不错的资料管理软件资料管理大师一个很不错的资料管理软件很好用的··特别是工程
成绩管理大师2005是一套统计分析高中、初中、小学成绩的软件。 软件具有多项独特的功能: 1.双击建立的成绩库文件即可打开。 2.提供与多种数据库的接口。 3.采用Office xp菜单,Xp窗体,界面更酷。 4.提供...
班主任管理大师介绍最完善、专业的班主任管理系统.
《数据大师》是独具量身定制特色的傻瓜式通用信息(数据库)管理软件,能用于任何单位的各种信息管理工作,诸如工资、固定资产、人事、商务、库存、档案、客户资料、学籍成绩、中介信息、家庭事务等。用户能根据自身...
64位管理大师的管理思想让你更加明白什么叫管理
程序员版右键菜单管理大师汉化版是一款国外软件汉化版。是当今最好的右键菜单管理软件。
管理系统数量不受任何限制,可自定义数据项目、录入限制条件、计算公式、报表格式、系统密码、操作权限等,能对任意数据库实现全方位数据处理(如追加、修改、排序、置数、复制、累加、计算、汇总、排名、多库操作等...
德鲁克先生被称为大师中的大师,不仅因为他是现代管理学的奠基人,目标管理的创建者,他在市场、创新、变革、战略、知识管理、21世纪管理者的挑战等方面的真知灼见,也让诸多管理大师和成功企业家从中受益。
网吧电影管理大网吧电影管理大师&8mov2.0网吧电影管理大师&8mov2.0师&8mov2.0网吧电影管理大师&8mov2.0
由此,全球为数不多的智能财务分析软件在各方的需求下诞生了,《AI智能财务分析系统》便是其中比较优秀的一款,只需要提供企业的三张财务报表,它就可以完成以下三项工:1、计算所需财分析指标。2、将计算结果用...
AI智能财务分析系统只需要提供企业的三张财务报表...其中第3项功能是传统财务软件、ERP软件的财务管理功能模块所不具备的,只需数分钟即可得到更加全面、工整的财务报告,年度、季度甚至月度报告的生成都完全不是问题!