在本期文章中,我们将讨论Android开发人员使用的技术——来检查当前应用程序上运行的Android设备是否已植根。对于应用程序,检查当前设备是否已经是root用户有很多好处。很多我们是否需要root权限...
在本期文章中,我们将讨论Android开发人员使用的技术——来检查当前应用程序上运行的Android设备是否已植根。对于应用程序,检查当前设备是否已经是root用户有很多好处。很多我们是否需要root权限来安装某些工具,但这可能会带来安全风险。
出于安全原因,许多应用程序不允许在已经是root的设备上运行。我已经看到一些移动银行应用程序会自动检查设备是否已植根,并将停止在已经植根的设备上运行。在本部分中,我将向您解释几种常用方法和一些绕过技术,供开发人员检查设备是否已植根。
常见的检测设备是根技术
让我们从应用程序广泛使用的几种检测技术开始。
如果设备已经是root用户,则会添加一些新文件,因此可以通过检测这些文件的存在来判断。一些开发人员可以通过检查是否可以执行只能在root权限下运行的命令来判断。当然,还有其他一些手段,下面有一个。
1. Superuser.apk是一款广泛用于root Android设备的软件,因此您可以检查该应用是否存在。

2. 还可以搜索一些特殊包,如下图所示。

上图显示了一个名为“eu.chainfire.supersu”的软件包,我在一些应用程序中看到过它可以检测到它。
3. 有些应用程序只能在根设备上运行,因此检查它们是否存在也是一个好主意。比如着名的Busybox:

4. 运行“su”和“id”,然后检查uid进行检查。

以上是开发人员用来确定设备是否已植根的常用方法。当然,还有一些其他未提及的方法。我们稍后会讨论它。
绕过根检测——演示
在本章中,我们将讨论如何绕过根检查并下载下面的软件。
http://yunpan.cn/cfrXty5f7DDYT (解压缩代码:fd17)
然后点击Is 我的 设备 rooted按钮将检测设备是否为root,我的设备现在是root,如下图所示:

让我们开始吧。
了解该计划的原则
我们首先需要知道此应用程序如何检测设备是否已植根。看下面的代码:

可以看出,他只是检查/system/app /目录中是否有Superuser.apk,如果存在,则显示“Device Rooted”。我有可以被绕过的姿势:
1. 首先我们用su和id确认设备root

2. 查看/system/app /目录中的Supersystem.apk。

3. 让我们修改应用程序的名称并将其更改为Superuser0.apk。

啊,这是错的,他是一个只读文件。
4. 然后我们把他改成了一个可读写的文件!

5. 更改名称

6. 再次检查以下内容:

显示“Device Not Rooted”。
当然,以上只是一个非常简单的例子。对于初级开发人员来说,仍有一些影响。当然,对于一些看涨的开发商来说,可能并不那么简单。他们会以各种复杂的方式检查它们。例如,他们将通过以下方法进行检查
调用Runtime.getRuntime()EXEC( “ス”)。
如果是这种情况,我们必须更改它,例如修改su命令以绕过。
总结一下
从安全角度来看,开发人员阻止程序在根设备上运行是个好主意。但是大多数时候这个测试可以很容易地绕过,这需要开发人员找到更复杂和先进的方法来检测,以便更好地防御攻击。
本文转载自360安全广播
原文链接:从http://resources.infosecinstitute.com/android-hacking-security-part-8-root-detection-evasion/翻译
黑客业务列表介绍和一般分类:
类别:攻击入侵破解开发
1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量]
2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。
3:破解业务类:软件,加密文件,二次打包,脱壳等。
4:二次开发业务清单:软件二次开发,源代码二次开发等
5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等
备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明
注意:仅接受正式业务,个人无权接受。收集此内容。