在本期文章中,我们将讨论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:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等 备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明 注意:仅接受正式业务,个人无权接受。收集此内容。