标签归档:Android

一种判断Android模拟器的思路

前段时间在测试一些手机、设备的时候顺手写了一些工具,由于当时现场的环境不佳,只能使用模拟器调试,无意中发现可以让模拟器拒绝服务,演示效果如下:

所以,除了通过各种行为特征检测模拟器,也可以通过是否存在某些漏洞来检测模拟器。

目前的模拟器中大多数采用了较老的Android版本,而这些Android的版本中包含了一些已知的漏洞,同时模拟器在自身的实现上也存在一些漏洞,顺着这个思路,可以找到不少能让模拟器无法使用的方法,并且能在普通权限下完成。类似于当初的nProtect,发现调试行为后,在Ring0使用out指令重启电脑。 More

QQ拼音for Android v4.9.1 so劫持/感染

Intro

QQ拼音for Android v4.9.1的导出组件com.tencent.qqpinyin.voice.DownloadApkService没有对传入的下载地址进行过滤,导致任意文件下载,且没有对传入的文件名进行合法性校验,导致目录遍历。加上其本身Apk的特点,可以使用该组件感染/劫持so文件。之前没注意QQ拼音已经归属搜狗,2015-04-27提交到了TSRC,告知已转交搜狗。至今漏洞依然存在,但从v4.9.2开始lib目录有所变化,无法感染/劫持。

漏洞细节

查看AndroidManifest.xml文件,发现com.tencent.qqpinyin.voice.DownloadApkService导出:

<service android:name=".voice.DownloadApkService" android:process=":remote">
    <intent-filter>
        <action android:name="com.tencent.qqpinyin.download.apk" />
    </intent-filter>
</service>

DownloadApkService关键代码如下: More

CVE-2012-4220 原理分析

漏洞信息

该漏洞的一些相关连接:

上述连接中对该漏洞的描述:

diagchar_core.c in the Qualcomm Innovation Center (QuIC) Diagnostics (aka DIAG) kernel-mode driver for Android 2.3 through 4.2 allows attackers to execute arbitrary code or cause a denial of service (incorrect pointer dereference) via an application that uses crafted arguments in a local diagchar_ioctl call.

漏洞分析

造成该漏洞的主要代码如下: More

Android Native Library脱壳的一些Tips

这几天看了一下Android下so文件的壳与脱壳,目前这一块应该还算是比较新的市场。个人感觉,受到调试器和计算资源的影响,虽然已经有多家厂商在做,但目前的总体强度和花样,远没有x86下的五花八门。

对于我们这种每天都在被各种病毒的变形外壳虐待的人,掌握了技巧,一般的Android壳还是很好脱的。其实,到目前为止我也只看了一个。

福利

今天,鱼妹兔在看雪论坛上发表的《ApkProtect 分析》绝对是一个很好的研究资料。其中包括了完整逆向的壳代码,还有大量注释的idb,很好的呈现了Android壳的主要流程和必须的细节。掌握了其中的关键,别的壳也就是时间的问题。 More