虚拟机不支持64位系统上运行安卓引擎提示显卡不支持怎么解决

8412人阅读
Unity3D移动端(7)
首先作为一篇VR手游开发笔记,第一章和VR没有任何关系,单纯讲环境配置
本章主要讲述怎样从零开始搭建android手机游戏开发环境,只用一台windows系统的PC机,将第一个示例工程成功运行在android虚拟机上。与单纯的app开发不同的是,游戏开发不再使用eclipse作为开发平台,游戏制作需要一个处理光照、特效、动画、物理效果等等的开发平台,即引擎,通俗来讲,引擎就是一个做菜的大锅,而组成游戏的各个元素(3D模型,动画特效,碰撞,音效,脚本等等)就是炒锅中的菜,经过引擎的处理,形成一款完整的游戏。
作为时下手游开发的主流,这里我们使用Unity3D作为游戏引擎。Unity5.1以后,Unity开始提供了对虚拟现实的第一方开发支持,作为VR手游开发,它再适合不过了。
1.Unity下载安装
Unity官方历史版本下载
注意!!这里千万不要直接下载Unity编辑器,而是下载Unity安装程序,然后通过安装程序去下载资源,因为直接下载的Unity编辑器是不带Android模块的。
下载完以后,打开,一路点击next,到达如下图所示界面,注意要勾选Android Build Support(同理如果是ios开发就勾选ios Build Support,当然对于安卓开发没必要勾选)
点击next。
出现下图所示,解释一下,上面两项是选择下载好的文件在安装完成后是否被删除,默认选第一项,然后选择好你Unity的安装位置,点击next,开始下载。
耐心等待下载完成后,还要对Unity进行破解,windows有通用的破解工具,附下载地址
选择好Unity的路径,点击PATCH按钮破解,完成后,注册一个Unity账号就可以打开Unity了。
2.Android环境搭建
android环境搭建是一个复杂的工作,先什么都不要干,下载两个东西
Windows x86版对应32位系统
Windows x64版对应64位系统
有两个选择,可以选择下载Android Studio&
也可以下载最原始的集合了eclipse和SDK的压缩包ADT Bundle
windows 64位系统
windows 32位系统
在教程里使用的是ADT Bundle。
在非系统盘新建两个文件,一个命名JDK,一个命名ADT
将刚刚下载完毕的JDK安装至JDK文件目录下,ADT安装至ADT文件目录下
解释一下:首先JDK全称Java Development Kit是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。Android上层是用java编写的,所以java开发工具包是必要的。ADT全称AndroidDevelopTool,他包含SDK和eclipse。SDK全称Software Development Kit,一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。通俗一点讲,就是,要开发安卓程序,就要有安卓操作系统。
打开ADT文件夹,运行SDK Manager,在上方工具栏点击Tools,选择Options项,按下图所示填写完毕
下载Android系统的API是要连接谷歌服务器的,中国的关系,google的连接速度几乎没有,所以如下图填写下载设置,可以大幅改善速度。
接下来需要下载SDK中具体的某些开发工具了
首先,Tools栏下,下载勾选的这三个,安装完成后,右边显示Installed,就可以了
另外需要下载一个Android系统,需要下载Android5.0以上,建议下载Android 6.0(API 23)
最后Extra栏目下,下载这两个。其中Google USB Driver不多说了,是usb调试必备的,Intel x86 Emulator Accelerator是模拟器加速的工具。下载完成后还没结束,在ADT安装目录下的sdk/extras/Intel文件夹下找到刚刚装的Intel x86 Emulator Accelerator文件夹,进入以后运行intelhaxm-android安装程序,完成后才全部安装完毕。解释一下,Intel x86 Emulator Accelerator是intel采用的虚拟硬件加速技术,实现android模拟器的加速。强调!!Intel
x86 Emulator Accelerator一定要装,不然后面会出现问题
完成了必要组件的下载,接下来就是添加虚拟机,还是打开SDK manager,点击Tools栏下的Manage AVDs,点击create创建
因为装了intel加速,可以选择Intel Atom(x86)或者Intel Atom(x86_64)的CPU,(如果没装请选择ARM处理器,不然会报错虚拟机启动不了)
target项选择之前安装的安卓系统,RAM的话,如果电脑好的话,可以选择1024,反正这个就是越大虚拟机运行越流畅
最后勾选Use Host GPU项,Use Host GPU是使用主机GPU的意思(必须要勾选,不然程序会自动退出),左边Snapshot键是快照功能,这里没必要勾选,点击ok创建完毕
3.最后的连接步骤
打开Unity,新建工程,出现如下所示界面,这个就是我们现在的游戏场景,我们不做改动,直接将其作为场景保存,点击file-save scene保存到工程目录下
点击Edit-Preference出现下图界面,选择好JDK和SDK的目录
点击file-build settings,点击Add Open Scenes将当前场景添加到要发布的场景列表中,选择Android,点击左下switch Platform,发布平台就切换至安卓了。
继续点击player settings,在右边的inspcter面板里,修改Bundle Identifier和Install Location这两项的值,其中前者com.公司名.作品名 都是自己定义的,可随便写
最后点击build,导出apk文件
导出的时候,SDK当中的一些工具版本过低会报错,只需要更新一下即可
JDK没有配置环境变量会报错,解决方法
上述的Bundle Identifier属性没有修改会报错,按com.自定义公司名.自定义作品名修改好即可
4.运行你的作品
首先需要打开虚拟机,还是在AVD manager 下面,点击start按钮打开创建好的虚拟机
将apk文件拷贝到sdk\platform-tools目录下,打开控制台一直用cd 文件名语句,进入到platform-tools文件下,最后用adb install XX.apk进行安装,完成后,会显示success
最后apk文件就成功安装好了
运行一下,显示的是默认场景的画面
这样整一个环境已经搭建完毕了,当然有真机的同学也可以真机调试这样更加方便
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:74660次
积分:1188
积分:1188
排名:千里之外
原创:35篇
评论:49条
csdn上主要讲一些coding过程中遇到的函数,问题,解决方案。偏实践
如果想了解偏理论的东西,欢迎关注
csdn私信几乎不看!!
联系我可以通过邮箱: 或者直接在知乎上私信我
看到我会第一时间回复各位,谢谢!!
(7)(1)(1)(2)(3)(8)(6)(5)(1)(3)McAfee Wayne Yan:Droidride——一个轻巧的内嵌Android恶意程序检测引擎
发表于 12:09|
摘要:随着Android恶意程序的日益流行和多样化,安全公司需要不断地加入新的病毒特征到病毒库中,但这却导致病毒的扫描变得越来越慢。为此来自McAfee的Wanye Yan研发了Droidride这款轻量级Android恶意软件分析引擎,可以快速而有效地检测恶意软件样本。
12月13-14日,SyScan首次登陆北京,携手奇虎360合力举办SyScan360国际前瞻信息安全会议。此次活动为期两天,将涵盖Windows、Android、iOS、浏览器、软件漏洞挖掘攻击等各个方向互联网安全话题,为国内外从事互联网安全领域的研究同行们提供良好的交流与合作的平台。同时本次大会还将汇集国际安全领域最新的研究成果,共享最新的安全技术,众多国际重量级的演讲嘉宾将汇聚一堂,分享最前端的信息安全的理念。
随着Android恶意程序的日益流行和多样化,安全公司需要不断地加入新的病毒特征到病毒库中,但这却导致病毒的扫描变得越来越慢。为此来自McAfee的Wanye Yan研发了Droidride这款轻量级Android恶意软件分析引擎,可以快速而有效地检测恶意软件样本。
McAfee资深安全架构师 Wayne Yan
以下是演讲实录:
Wayne Yan:我这边大概用中文讲一下。首先我给大家带来两个消息,一个好消息,一个坏消息。好消息就是听完了我的报告,你就可以吃午饭,坏消息就是说,你要吃饭是必须得听我的报告。
这个项目我是利用自己的时间来开发的,主要的目的是与大家进行交流,希望借此抛砖引玉。大家看看有没有能开发更好的系统对移动病毒的防范。
这个会议原来是十月份,现在延迟到十二月份,我们为了这个原因把机票都改了,但是有一个人应该是比较高兴的,至少我们现在开会的时候至少知道,他又重新当了总统了,就是奥巴马。
我首先做一个自我介绍,我不知道在这边有多少朋友是来自中国的大学或者是研究机构,这样的话我可以在适当的时候多说一些当前有关热门的研究方向,有多少是来自大学?还是比较多的。首先我这边比较倾向做检测程序,我分几类,一个是网络上,最近一个项目就是在杭州EVER,是基于的每天收的很多的文件,提取Traffic,看看有没有C and C相关的指令,生成一些黑名单,看看能不能生成Botnet家族的一些特性。
还有一个是我们当时还有一个项目做了一个POC就停了。很可惜,大家如果有时间可以看一下,几个月前,国内电信运营商在美国国会听政受到挫折,有机会看看他们听政的时候的Video,对于你们来了解中美的思想差异,包括安全市场的推广都是有帮助的,你们看完了之后应该知道问题出在什么地方。下一个是Desktop level,包括病毒收集、病毒分类等等,整个一个系统尽量要自动化。
Cloud based AV,在2007年这个概念才提出来,这个项目涉及到我们如何从传统的AV库改变成一个基于云安全一个库,适应云端的模式。之前在立项了20多个核,那个时候核非常泛滥,经常有核出来,现在非常非常少了,包括最简单的Compresser,还有Obfuscator。
Anti Rookit也是非常非常火的,但是微软关于他的一些文件系统,注册表,包括进程,那个时候Rookit就很难去做了,这个方向并不是特别热。
最后一个就是我今天要谈的,就是Android上的查杀病毒引擎。
第一个问题,关于云反病毒。如果我们设想一下,当初2007年几个大的厂商他们的库没有超过一百MB的时候,这个概念会不会出现。我不知道你们是会觉得是对还是不对?我这边倾向于不对。因为云安全的概念实际上是被动提出来的。因为当初PC上,如果病毒库不是特别大,没有特别大内存,会造成机器特别慢,谁也不会想到我把这个病毒库移动别的地方去,这个技术是非常好的。
第二个问题就是如果你不需要单机版的病毒方案,那么你是否会用于基于云的方案?比如说我需要你提供一个C and C,也许是特征,MD5、URL、沙盒等,轻量级的桌面和云结合方案。
首先这边是声明,这是个人研究,不代表单位。我上个月去杭州的时候,参加亚洲反病毒,有人问我,你们是MRV出售的,我说不知道什么事,说你们Jion跑了,因为我不知道这个消息,果然他跑调了。我前两天坐飞机来参加SyScan的时候,我在飞机上看到另外一个新闻,Jion被抓起来了,我想和这个时机太凑巧了。
第一点我们看一下,现在我要大概介绍一下现在当前Android这么一个,后面看一些基本参数,后面有一个非常短的示例,大家如果有什么问题尽管提出来。因为我觉得这个会忽然交流会更好一些。
首先我们看一下Android的威胁现状,McAfee第二季度报告,Android系统是恶意攻击首选。大概有多少个恶意软件,我们猜测是30万,白名单可能是100万。Symbian基本是死掉了,因为它现在不怎么支持了。
这张图就是我自己写了一下,在PC这么一个病毒世界里,相对于手机的话我们处在一个什么位置?第一张图是每个月出来一个新的病毒数目。我这边画了一个红圈。大概在2005年4月份左右,那个时候每个月是15000个新样本。右边这个图是当初最多的一个病毒的数目,但是我觉得这个图可能他估计少一些,因为不可能到2007年,我们估计是2005年的水平。
我们看一下Android,第二个季度到第三个季度增长了多于十倍,我这边以前也提到过,是不是在明年年初的时候我们数目会怎么到一百万个,如果一个星期之后2012这个世界末日没有到,我觉得可以看得到。我们看一下2007年以后这个PC市场发生什么大的变化,首先第一点就是AV这些公司很难再去抓到每一个新出来的样本,因为一个情况可能是他的壳会特别多,会造成病毒变异特别多,或者造成很多引擎检测不到的。
另外一个情况我们之前看很多产品测试报告,都超过95%,非常非常漂亮。但是后面慢慢往下降,最低竟然达到79%,而这些79%是他们把最新的库去给测试部门去测试。如果在现实情况下,那可能这个检测率还要低。
对于客户来说,一直在抱怨,我的电脑消耗CPU越来越高,速度越来越慢,这是因为病毒越来越大。另外一个情况也是花钱买一个软件系统,放了一年,都抓不到,外面都说出来多少多少个新病毒,但是一个抓不好,这是什么感受?这是非常不好的感觉。
第五点非常重要,对于AV公司如何处理这个事情,一前端,一个叫后端,前端是AV引擎,包括LOGO包括APS,后面是收集的样本、处理、归类,现在这两块交叉特别少,是一个什么意思呢?就是你后台用了很多的沙盒,用了很多方法、算法,最后结果就是要认证你的样本是有毒还是没有毒,就是这么一个感觉。但是之间很多很多的信息,你都没法放到这个前端产品去,放在前端可能就是一个MD5,可能会造成浪费很多人力物力,我们尽量把这个往一块合,这个会好一些。
我们看一下PC和手机实现方法是不是有差别。我们现在有四分之一的产品是在AV上,平台上,完全复制它不是一个很好的方法,因为AV TEST今年检测率低于65%,这个检测数目是618,在数目这么少情况下,检测率还这么低,这就说明有很多空间可以有待提高。
那么对于移动产品,移动设备的话可能会更有很大的问题,首先第一个点就是电池耗费。现在问题可能不是特别明显,为什么你要看一下今年最新的病毒测试的报告,也会觉得它有专门测试电池耗电量,但是大多数它都通过了。为什么呢?你现在可能每个手机上就一多百个应用,可能你整个病毒的病毒库才几万个,最多可能十几万个,那么你去扫一遍数目会非常少,不会造成很大的耗电量。但是以后可能如果增加到几百万个之后,那个就完全不一样,那时候可能会定时的毛病越来越明显。
第二点是现在这个手机虽然说越来越智能,越来越先进,但是它里面处理器相当于十年以前,在这么一个低的处理器计算能力上的话,你并不适合去跑很多我们现有的一些沙盒相关技术,因为沙盒是非常费资源的。你这个沙盒的技术放在什么地方?你不能放在这个手机上,可能你也不能放在其他的服务器上,或者云端,因为国内是按流量收费,你去传东西的时候,会造成用户要来付钱,他们肯定是不答应的。
后面可能你PC上基于网络带宽无线会造成很多不是很稳定,会造成最新的病毒特征就是更的时候可能会断裂。下面一个可能非常简单了,我看过一些样本,分析过一些样本,里面字符串都是明文,没有太多加密,造成没有很多的盒出现,你会很容易发现做一个王治之类的。
最后一个电信运营商网络结构和我们一般的网络不一样,因为有些文章是ATNT的,我们同时ATNT这个网络发布Signature update会造成堵塞,不能在很短时间向很多用户发布更新的结果,这都是以后产品开发遇到的问题。
下面是PE DEX101,你这边是PE的高手你要耐心听了。第一点是WindowsPE,这是非常老的一个格式,大概有十几个字段。后面就是Section,包括你的Date指定在哪儿开始,后面跟着数据,这个代码可能就是说藏再一个空的端里,所以你Runtime执行的时候会动态的执行一条,或者执行一个Memory page,就是摸掉或者是下载,这是手机的方式。
对于DES来讲,它基本上是DES文件,相当于一个可持续软件。下面这张图比PE更紧凑,这个库会更方便一些,按顺序可以读出来一些字符串、或者Code一些其他的信息。
几个月前出现了Mobile的rootkit,但是对我来说这个问题不是很严重,想当初Windows并不怎么开源情况下,大家可能搞到里面一些信息,写一些Rootkit detector,所以虽然会出现,但是不是大问题。
下面是PE Packer,这个最近也不是很火,DES可能用了相似的方法,右边这张图是非常一般的DES,前面也有DES的标记,后面可能有不同的文章的结构,你去找你的字符串,找你的代码。
今年Blackhat研究人员,就有人试图把一个DES藏到一个图片里面,藏到其他的资源里面,来让DES运行的时候自动来执行。他这边这个图的话,我从他这个里面截取出来了,目的就是要隐藏。
左边是我找了两个DES,都是属于同一个APK obfuscator,这个是从位移开始,不同的位移有相同的内容,这个非常典型,基于相同盒不同样本找出一些贡献。
下面再谈一下Windows和Android系统的不同。
经过昨天小组讨论可能大家知道,苹果公司可能相对于Android控制非常好,不会造成大规模爆发,因为它的系统非常闭合,每个环节都逃不过。如果你是开发商你想通过第三方推广你的软件,绝对你的成本要比通过苹果正常渠道高很多,这样造成你要乖乖按照他的规律来走,他每个槛设置一个安全的环节的话,你就得就范,这样可能病毒找起来非常方便。
但是对于Android的话,你首先在国内Android Store(Google Play)是不用的,第三方可能有二三十个都发布不同的东西,一旦这个环节有一个链子端掉了,会造成一个环节去蔓延,你无法控制。
因为我这边不是讲特别炫的攻击方法,我是基于防范的角度来的。防范和攻击有什么区别?
先举一个例子,以前有一个同事在因特尔工作,他当初从国内航天系统毕业出来的,我就问他,你说国内现在行业技术发展这么快,他为什么在引擎制造或者在芯片制造上还是落后呢?他从一个方面给我分析,我觉得很有道理,可能不是全对,那么如果你是专家可以来更正。他说航天系统是一个集中优势能力来做最好的设备,比如说我生产一百个配件,我找一个最好的,我把所有最好的拼在一块儿,我就可以造一个火箭上天。比如说像芯片、发动机、包括USB它怎么拼,你不能有一个问题,一个问题出现可能成百万美金的损失。比如当初Sandisk有一个BUG,整片的USB就报废了。
另外一点我们骇客和我们系统是什么样的,黑客可能比较炫,高富帅,有很多很炫的工具,试一千次,有一次成功。如果对于我们来说,我们要做一个系统,系统本身是一个比较平衡的,比较防范的,哪怕我们雇佣一个老太太放到里面也可以撑个几小时。比如说你招了个新手,还不是很熟悉,这个系统运行起来也能有效的防范,因为一旦攻破这个代价是非常大的。当时McAfee时有引擎误报,2006年说把用户做的文件删掉了,我们产品员那两天就是打电话给用户道歉。我们那个组两天之内搞出来这么一个工具,把那些数据全部恢复,我们觉得非常麻烦,熬夜搞出来一个这东西,这还好一点。
第一张图是雅虎的图,现在McAfee在美国的总部,第二个图是雅虎的地标,有一天我一个同事告诉我,你看雅虎的Logo怎么没有了,我一真看的没有,后来网上一查他过几天要搬出去。这就说明你不是大的公司不能去做,因为它实际说是积重难改,没法改变这个流程。他花多少人,好不容易误报降很低,但是他不敢重新做,这也是一些新型公司争取机会。
流模式是什么呢?流模式是一边下载一边扫描。可能先下载几个包,如果有新的特征的话,你一抓到就断开,后面像流水线一样会非常非常快。流模式有好几个厂商已经开发出来了。这个基于几百个病毒样本里面可能调的一些主要的API方式,我把它抓一起,画一张图是不是觉得特别乱,如果是传统的API方法去找回的话,能找到。但是它有一个致命的问题,可能它的误报相对高。而且这个误报你没法控制,因为你要写一些ROO,很多版面是相似的,所以这也是我们从PC上学到的一个教训。
现在是市场份额,第一个小的是3.89亿美金,是当前估算一个市场份额,到2006年达到7.3亿,到2017年是103亿,我们看一下传统的PC市场现在已经到了63亿了,可能到2017年是120亿,可能你要是画饼从3亿到120亿,40倍。
当时Android反病毒市场的情况是超过40个Android反病毒产品,扫描50到100个已安装的手机程序,现在有几个组织正在修订Android反病毒软件测试标准,现在大部分都是基于开源的SDK,或者一些工具来实现。包括耳熟能详的基于Linux限定每一个Wifi流量分类。
中美现状的不同
现在关于一些美国和中国一些不同点,流量控制,美国是每个月收费,是包月。国内是按具体下载量收费,可能流量监控功能和美国不一样,另外短信阻碍可能也没有这个功能,可能美国用的很多都是Mail,发短信不是很多。
另外国内有很多很漂亮的辅助工具,比如说管家,硬盘清理之类的非常漂亮,来迎合这些用户,这个用户忠诚度非常低,他一旦发现更好的就直接换别的,所以你很难牢牢抓住客户,你只能不断写新的功能。
第三点是功能和市场,国内没有非常清晰的模式,企业不需要这么一个方式来防止用户手机造成本地的侵入,病毒是很明晰,造成盈利模式和收入模式的不同。
另外我们现在基于云的解决方案到底是什么样的,也没有很清晰的一个图。现在可能就两种不同的思路,一种是比如说现在有一些手机的把关,把用户手机流量直接转到网关,网端通过传统网络进行监控,以前我们看手机这个设备或者Traffic很大是灵活,是不是更倾向于云管理、云安全,我为什么先从传统走一圈,再连过去?我为什么不能直接打通,现在有的公司想直接打通这个直径,想要开发一些基于手机的流量。我能不能做特征值,适应高速网络,需要一些新基础。
这边几点关于引擎设计一些需求:
第一点肯定是轻量化,就是需要很少CPU能力,预计一年到三年之内我们可以看到一百万到一千万病毒数量,如果我们做到未雨绸缪会做到非常好的措施。
第二点是不是能在线扫描,这个对于流病毒扫描这个可能会是比较好的方式。
第三点基于病毒家族的相关联,这个包括病毒家族的关联,和病毒家族内的关联,这个可以检测一些危险。
最后一点看可以看到能不能尽量实现全面自动化。
我这里处理一些流程,一开始有APK Parser,你要把你的供应格式去掉,不然这个格式造成带来的数据会引起误报,下面可能就是对于一些权限或者一些DEX文件里面一些内容的抓取,下面就是说基于统计的一些相似性、一些特征的提取,然后再看一看基于家族有没有特征。
大概有一些手机家族的病毒,每个家族比较长需要25分钟把相关的信息抓出来,可能短的话比较小,大概不到5分钟就能提出来,根据这个来设置病毒特征库。
第二个是就是偏离这个幅度,这样定义你特征特别有帮助,而且对于以后进行快速扫描也提供了一个支持,因为毕竟在很短范围在服务。
这张图比较大,大多基于手机病毒家族关联度和一些相似分数这么一个图。左边可能是不同的家族,右边也是一个家族,可能这些家族在某些情况上有关联,这个关联可能不是基于IDApro找到的,比如说通过其他的方法找到的,这个是整个系统出来的结果。这张图我可能稍微大一点,右边可能是基于不同家族第几个特征,大概的一些特征,然后基于这个表,如果是病毒从不同家族中繁衍出来,可以进行分析,这样你能得出它是从哪一个家族中演变出来的。
这个是检测率,检测率基于不同的家族我们大概定了一下,下面这一张图是每个家族需要的病毒特征值的数目。我看一下可能比较多的是16,16对应的是发展性,家族名字太笼统了,里面附很多,它叫做什么数目也是很多了。
关于误报过滤的话,基于下面几个方法:
一个是家族本身一些关联,
第二个可能是白名单过滤,因为我发现因为有的时候你去用不同引擎扫描的话,你当天会发觉这边没有找到,而过了一个星期,过了几天,有引擎找到了,可能因为那些引擎当天没有找到。
第三个基于不同的特征,给他一个特定的分数,分数高的话,他可能误报率低一些,误报率低一旦命中,你再下一步跟上来,可能用一些动态的方法再跑跑看。
第四就是不同的逻辑操作。
因为测试有一半样本,现在能确定下来还是有误报,但是我们发现里面有一些String看着非常可以的,它可能造成一些恶意的行为,我这边是把它给提供出来了。
这边是一些检查的情况。第一张图我们看一下,我们这些特征库过一个星期拿一些新的样本是不是也能找到,这个可能在一些手机断网情况下,能不能找到一个检测。
蓝色是我们收集到的样本,红色可能就是说在一个月没有去更新的情况下,还是能找到一些数目,有的家族可能效果非常好,可能这个家族他用的代码是比较特别,或者是他用了一些特定的串,还也一些可能他的样本变异比较多,或者他有一些混淆的技术在里面。
右边是我们放四个月,你四个月不动它有的随着四个月的变化,检测率会往下掉,四个月你不更新的话,产品有问题。
下面就是检测,一个里面有40个引擎,在40个引擎我们能抓到这些样本去跑一遍,大概有60%可以抓到,第二张有八个引擎可以抓到,可能这个病毒更复杂一些,可能也抓到40个。
下面是如何反混淆,第一个是标准话,第二个是重签名,第三个是重新打包。后面加了一些没有用的方法,然后去命名一些过错的办法,进行加密,然后改变API一个流程,我们基于七种不同的方法他挑选十种,他认为当前市面上比较好手机杀毒产品,里面最好的是卡巴斯基,通过对齐的话,它的检测率有什么变化。第三个是重新签名和重新打包又有什么变化,最后一行是平均改变率是92、92、82,我们今天跑一下大概基本上在原来能够抓到的情况下,经过这个还是基本上能抓得到,后面四个不同方法的一些比对。
后面四个可能有字符串的加密可能做的不是特别好,因为虽然也不是基于字符串来检测,但是因为字符串加密可能造成一些相关代码的变化,或者位移或者怎么样,会造成一些漏洞,那么平均下来可能就是67、67、95、50%,平均下来还是在平均状态。
我这边DEMO时间不是特别长,我简单演示一下。这是一个非常干净的系统及因为我本来想装一个手机上的录像软件,但是因为在美国的手机没ROOT,没有ROOT就没有办法录下来,于是用比较土的录像工具还没注册。所以看一下基本上一秒钟大概扫七八个,这个速度包括你解压APK,先解压,再扫描,这个时间都包括进去了,这是第一个比较短的。我们再看一下第二个。
第二个我们搜集到一些病毒样本,我们去扫描,这次我们发现在跑的时候就快了,但是跑的性能不是特别稳定,一开始扫过了一些,这个不是机遇MD5的,所以我们想验证一下这个性能是不是可以。它现在还是基于可能后面有一些病毒在后面可以看一下。慢慢可以找出来,包括解压就是可以放进去。
这边第三个可能是基于混淆的,这个还是感谢上海科大的,他们把源码发给我,我把源码做成样本,每个样本生成七个,有1400多个。这样扫描之后把前面一二三四混淆全抓到了,这个是APK本来要打包,最后统一下来刚才有那个表,其中不同的反混淆指标有多少,总共下来有一千多行,它比较大,所以我这里只给大家一个结果,没办法做演示。
我们这边想做的功能就是想用一种轻量级的方法,看看能不能达到其他技术的平均水平,在这个基础上增加扫描速度,增加自动处理一个功能。现在很少去加壳,也很少嵌入恶意的URL之类的,这样有一个评分系统,可能比较有意思。有可能我做一个界定,你有毒还是没有毒,给你一个分数效果不太好,可能你是动态会造成不少的误报,以后可能延迟到移植到其他设备上造成新的瓶颈。
更多精彩内容,请点击:
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章

我要回帖

更多关于 vm虚拟机处理器不支持 的文章

 

随机推荐