没有合适的资源?快使用搜索试试~ 我知道了~
SoftwareX 11(2020)100403原始软件出版物Obfuscapk:一个开源的Android应用程序黑盒混淆工具Simone AonzoBazi,Gabriel Claudiu Georgiu,Luca Verderame,Alessio MerloDIBRIS,热那亚大学,意大利ar t i cl e i nf o文章历史记录:接收3九月2019收到修订版2019年11月28日接受2020年关键词:Android混淆程序分析a b st ra ctObfuscapk是一个用于Android应用程序的开源自动模糊处理工具,以黑盒方式工作(即,它不需要应用程序源代码)。Obfuscapk支持高级混淆功能,并具有模块化架构,可以直接扩展以支持新的混淆技术。本文介绍了Obfuscapk的体系结构、实现的主要混淆技术以及Obfuscapk CLI的基础知识。最后,本文讨论了Obfuscapk的一个实际用例,并对该工具在Google Play商店中的1000个“下载量最大”的APK上的可靠性进行了实证评估©2020作者由爱思唯尔公司出版这是CC BY-NC-ND下的开放获取文章许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。代码元数据当前代码版本1.1.2用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2019_275法律代码许可证MIT使用git的代码版本控制系统使用的软件代码语言,工具和服务用Python编写,在Ubuntu 18.04上测试和工作,Docker镜像可用。所需工具:apktool,jarsigner和zipalign。编译要求,操作环境依赖Python包:pycyptodome,tqdm,virustotal-api,Yapsy.问题支持电子邮件gabriel. talos-sec.com1. 动机和意义混淆是一种通过模糊技术实现安全性的方法,它修改代码以抵消自动或手动代码分析。然而,它被安全社区认为是一把双刃剑,因为软件开发人员和恶意软件作者都经常使用混淆。事实上,一方面,混淆使开发人员的竞争对手远离复制代码,并使攻击者难以改变软件的常规流程(例如,开裂)。另一方面,它也有助于恶意软件作者规避自动代码分析和手动检查。例如,考虑一个被反病毒引擎识别的恶意软件样本。在这种情况下,恶意软件作者需要快速构建一个变种 原始恶意软件的秘密自创建*通讯作者。电子邮件地址:Simone. gmail.com(S. Aonzo)。https://doi.org/10.1016/j.softx.2020.100403从头开始的变体是耗时的,混淆原始恶意软件的代码通常被认为是一种很好的折衷。围绕混淆的挑战吸引了许多研究者,特别是在移动应用程序领域,因为这些市场的惊人增长。在移动世界,尤其是Android平台,混淆是相当常见的。反汇编(或反编译)和重建一个Android应用程序是更简单的w.r.t.其它二进制代码,例如,x86可执行文件。到目前为止,大多数关于Android应用混淆的研究都集中在如何:(i)构建可靠的混淆技术[1,2],(ii)混淆可以由最先进的代码分析工具处理[3],(iii)自动对代码进行去混淆[4],以及(iv)实际上,开发人员现在采用模糊处理[5,6]。最近的研究工作表明,许多开发人员无法应用先进的混淆技术,免费的现成混淆器只支持基本的混淆或很难配置。此外,有一些学术著作[7-2352-7110/©2020作者。由爱思唯尔公司出版。这是一篇开放获取的文章,使用CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx2S. Aonzo,G.C.格奥尔久湖Verderame等人粤公网安备44010802000011号在他们的模型中考虑混淆。值得指出的是,在移动设备上应用对抗性机器学习的趋势越来越明显[17,18然而,只存在两种工具(即,ADAM [19]和AAMO [20]),允许自动应用(一些)混淆技术。不幸的是,这两个版本自发布以来从未更新过,ADAM没有实现高级混淆技术,当前版本的AAMO似乎无法正常工作。为了克服以前工具的局限性,我们开发了Obfuscapk,1一个免费的Python工具,能够混淆编译的Android应用程序(即,不需要源代码)。Obfuscapk支持高级混淆功能(例如,字符串加密和本机库加密),并且其模块化体系结构允许社区轻松添加新的混淆技术。我们在Google Play商店中安装最多的1000个APK上测试了Obfuscapk;我们的实验表明,在83%的情况下,Obfuscapk会自动生成模糊的完整工作应用。Obfuscapk旨在成为开发人员和研究社区的有用工具。一方面,开发人员可以与ProGuard合作使用Obfuscapk,ProGuard是AndroidSDK中包含的默认优化器和混淆器,并由官方Android Studio IDE支持。首先,开发人员使用Android SDK和ProGuard发布APK,然后通过Obfuscapk应用更高级的混淆技术。另一方面,移动安全研究社区可以将Obfuscapk作为黑盒混淆工具应用于应用程序和恶意软件样本,以实现多种目标,例如构建或攻击机器学习模型,改进程序分析技术w.r.t. 混淆转换,仅举几例。最后,每个用户都可以通过添加自己的或其他最先进的混淆技术来扩展当前工具。ProGuard [21]和Allatori [22] 在 源 代 码 级 别 工 作 , 而 其 他 像 DashO [23] ,DexProtector [24]和Shield4J [25]直接在APK文件上工作。不幸的是,很难比较它们,因为它们通常不提供评估版本,并且它们是封闭源代码的。尽管如此,Obfuscapk还是实现了这些专有混淆器声明的所有高级混淆技术。2. 支持的混淆技术在本节中,我们将介绍Ob- fuscapk支持的技术,特别关注它们对恶意软件检测的影响。存在用于Android生态系统的混淆技术的分类[20,26],其将技术分为两个主要类别:平凡和非平凡。2.1. 小技巧小技巧是最简单的。它们对APK没有真正的混淆效果,但它们可以欺骗一些基于签名的反恶意软件工具[26]。Obfuscapk实现了四 种 非 常 简 单 的 技 术 , 即 : Align 、 Re-sign 、 Rebuild 和Randomize Manifest。1Android Package(APK)是Android操作系统用于分发和安装移动应用程序的包文件格式。2.1.1. 对齐并重新签名这些技术实现了构建有效Android APK的最后几个必要步骤。对齐是通过使用zipalign完成的,zipalign是Android SDK的一个特定工具。其结果是一个重组的应用程序,其中文件的结构进行了优化,以在Android设备上运行Android要求所有APK在安装(或更新)到设备上之前都必须使用证书进行数字签名,因此重新签名步骤是应用模糊处理后的最后一个强制步骤。2.1.2. 重建包含在classes.dex2文件中的字节码可以被反汇编和重新汇编以获得该文件的不同版本。这种技术在不改变其语义的情况下转换字节码,以保留应用程序的原始行为。这种重建旨在欺骗使用classes.dex文件签名的反恶意软件工具2.1.3. 随机化清单这种技术随机地重新排列Andro-idManifest.xml,3中的条目,而不修改XML树结构。目标是双重的:(i)改变清单文件的哈希以及(ii)欺骗N-gram分析[27]。2.2. 非平凡技术非平凡技术更复杂,但它们在检测率和鲁棒性方面获得了更有利的收益[26]。模糊处理的目标是字节码和资源(XML、资产文件和外部库)。非平凡的混淆技术可以分为四个子类别:重命名,加密,代码和资源。2.2.1. 重命名在软件开发中,标识符的名称(变量名、函数名等)应该有意义,以提供良好的代码可读性和可维护性。然而,这种明确的名称可能会泄露有关代码功能的信息。此外,由于软件包名称唯一标识了一个An-droid应用程序,因此对其进行修改相当于将一个新应用程序放入Android生态系统中。因此,重命名技术用一个模糊且无意义的标识符来替换每个标识符。虽然方法和字段重命名没有缺点,但类和包名称重命名更加复杂,因为AndroidManifest.xml必须相应地更新。2.2.2. 加密APK文件可能包含开发人员可以在运行时请求的资源。这些文件可以是原生库,甚至是字符串。这样的资源可以在运行时被加密和解密。在这种情况下,攻击者在读取资源之前需要另一个步骤来找到解密密钥,但也有一个明显的缺点:应用程序的性能变得更差,因为它在访问其资源时需要额外的计算。当Obfuscapk启动时,它会自动生成一个随机密钥(32个字符长,使用ASCII字母和数字),可用于加密:LibEncryption。 本地图书馆;资产加密。 资产文件(如视频、照片、文本文件等);ResStringEncryption。 包含在strings.xml资源文件中的字符串。• ConstStringEncryption。代码中的常量字符串2 classes.dex文件包含Android Dalvik字节码,即应用程序代码。3 AndroidManifest.xml文件包含应用程序的信息,如组件和权限。···S. Aonzo,G.C.格奥尔久湖Verderame等人粤公网安备44010802000011号32.2.3. 代码此类别包含所有影响classes.dex中指令的模糊处理技术。存在几种隐藏应用程序行为的技术,每种技术都应用于代码的不同方面移除工具。这种技术只是删除调试元数据。删除调试信息(如行号、类型或方法名称)会减少逆向工程过程中的有用信息量。呼叫间接。这种技术修改了控制流图(从现在开始是CFG),而不影响代码语义;它添加了调用原始方法的新方法。例如,对方法m1的调用将被一个新的包装方法m2所取代,即在调用时,它调用原始方法m1。后藤。给定一个方法,它插入一条指向该方法末尾的goto指令,并在第一条goto之后插入另一条指向该指令的goto;它通过添加两个新节点来修改CFG重新订购。这种技术包括改变代码中基本块的顺序。当找到分支指令时,条件被反转(例如, 此外,它还滥用goto指令随机重新排列代码。算术分支。这是属于垃圾代码插入类别的第一种技术,旨在向代码中添加一些无用的语义保留指令。在这种情况下,垃圾代码由算术计算和取决于这些计算结果的分支指令组成,以这样一种方式精心制作,即分支永远不会被采用。NOP. Nop是no-operation的缩写,是一条不做任何事情的专用指令。该技术只是插入随机nop指令(即,垃圾代码)中的每一个方法实现。方法超载。它利用Java编程语言的重载特性,将相同的名称分配给不同的方法,但使用不同的参数。给定一个已经存在的方法,这种技术会创建一个具有相同名称和参数的新void方法,但它也会添加新的随机参数。然后,新方法的主体用随机算术指令填充。2.2.4. 反射调用反射是Java编程语言的一个特性,它允许在执行过程中检查或修改类的运行时行为。在此上下文中,此功能用于调用给定对象的方法反思这种技术分析现有代码,寻找应用程序的方法调用,忽略对Android框架的调用。如果它找到具有适当方法调用的指令(即 ,没有构造函数 方法,公共可见 性,足够的自由 寄存器。. .)这样的调用被重定向到一个自定义方法,该方法将使用反射API调用原始方法。高级反思这种技术是对前一种技术的补充,因为它以相同的方式工作,但它针对的是危险API的调用为了找出一个方法是否适合Android框架,Obfuscapk引用了Backes等人发现的[28]第10段。2.3. 按类别分列3. 软件描述3.1. 软件构架Obfuscapk的设计(见图)。1)模块化,易于扩展,因此它是基于插件管理系统Yapsy构建的因此,每个混淆器都是一个从抽象基类继承的插件,需要实现方法obfus-cate。当工具开始处理APK时,它会创建一个混淆对象来存储所有所需的信息(即,反编译代码的位置)和操作的内部状态(即,已经使用的混淆器的列表)。然后,混淆对象作为混淆方法的参数被顺序地传递给所有活动的插件/混淆器。活动插件的列表和顺序通过命令行选项指定。该 工 具 可 以 很 容 易 地 扩 展 新 的 混 淆 器 : 只 需 在src/obfuscapk/obfuscators目录中添加实现混淆技术的源代码和插件元数据(一个.obfuscator 该工具将自动检测新插件,无需进一步的配置步骤。3.2. 工具功能Obfuscapk的完整功能集由以下帮助消息提供:Obfuscapk [-h]-oOBFUSCATOR [-w][-dOUT_APK][-i][-p] [-kVT_API_KEY]有两个强制参数:、要混淆的apk文件的路径(相对或绝对)以及要应用的混淆技术的名称列表(使用-o选项指定)。其余参数是可选的。-o要应用的混淆技术的名称列表(在第2节中详细描述并在表1中总结)-o Rebuild -o NewSignature -o NewAlign-ment。- w目录用于设置用于存储中间文件(由apktool生成)。如果未指定,则会在输入应用的同一目录中创建一个名为obfuscation_working_dir的目录。此选项对于调试目的很有用。-dOUT_APK用于设置目标文件的路径,即,由混淆过程生成的apk文件如果不是指定,最终的混淆文件将保存在工作目录中。现有的文件将被覆盖,没有任何警告。-i是用于在混淆期间忽略已知第三方库的标志。此选项可能有助于提高性能并降低错误风险。库的列表,ignore是从LiteRadar4项目获得的。-p是用于在混淆操作期间显示进度条的标志。-kVT_API_KEY仅在使用VirusTotal obfuser- cator时才需要,以设置通信时要使用的API密钥病毒总。它可以设置多次,以在请求期间循环通过API密钥(例如,-kVT_KEY_1-kVT_KEY_2)。表1总结了上述技术的实现。在Obfuscapk中,按类别分组。第https://github.com/pkumza/LiteRadar4S. Aonzo,G.C.格奥尔久湖Verderame等人粤公网安备44010802000011号表1Obfuscapk实现了混淆器。类别Obfuscapk混淆器平凡随机清单,重建,新对齐,新签名重命名类、字段、方法加密LibEncryption、ResStringEncryption、AssetEncryption、ConstStringEncryptionCodeArithmeticBranch,Reorder,CallIndirection,TogRemoval,Goto,MethodOverload,Nop反射反射,高级反射表2不同混淆版本的检测率。检出率原32/58 [29] 55%琐碎18/58 [31] 31%重命名16/58 [32] 28%反思15/58 [33] 26%[34]第14届中国国际汽车工业展览会加密0/58 [35] 0%4. 说明性示例Fig. 1. Obfuscapk架构。5. 测试Obfuscapk我们通过使用每种实现的技术,从Google Play商店随机下载的1000个APK的数据集,根据安装次数[36],对Obfuscapk的稳定性进行了经验评估。然后,我们测试了修改后的APK是否仍然可以安装,以及它是否正常运行。每个APKA的单个自动化测试执行如下:1. Obfuscapk混淆A,并构建新的APKA′。2. A'安装在实际的Android设备上。3. 如果上述步骤失败,则安装原始A,以便例如,我们使用Obfuscapk来混淆2019年初发现的Android恶意软件,一个名为Comet- Bot的特洛伊银行家。在这个例子中,我们使用Obfuscapk中实现的不同技术集对样本进行了混淆[29](总结见表1)。然后,我们将混淆的样本上传到Virus Total [30];结果报告在表2中,按检测率排序。该示例示出了不同类型的混淆如何或多或少地影响检测率。在这种特殊情况下,加密类别的技术允许构建一个不可检测的变体。由于Android APK是一个包含多个文件的归档文件,并且恶意组件可能几乎无处不在,因此无法先验地确定哪种技术是最有效的子集,因为每种技术对APK中的文件具有不同的影响清单1显示了使用加密技术混淆CometBot恶意软件的命令行参数清单1:使用加密混淆Cometbot恶意软件$模糊处理\−o库加密−oRes字符串加密 \−o资产加密−o常量字符串加密 \−o重建 −o 新对齐−o 新签名\−d加密APK彗星机器人APK验证失败是由于Obfuscapk执行的修改还是独立的。4. 如果A′的安装成功,则其行为通过Monkey[37]生成1024个伪随机用户事件流进行测试,这些事件由随机数作为种子n.使用不同的种子值会导致生成不同的用户事件序列。如果A′失败,这可能是由于混淆转换或原始应用程序A中存在错误。5. 为了区分,我们用相同的事件流刺激A,这些事件流是通过用相同的种子n播种Monkey而产生的。通过前面的步骤,我们可以凭经验评估混淆过程是否会导致失败 。 我 们 对 戴 尔 XPS 9530 ( Ubuntu 18.04 , Intel Core i7-4712HQ@2.30 GHz,16 GB RAM)以及OnePlus 6(Android9,Snapdragon 845@2.8 GHz,8 GB RAM)进行了实验评估,我们用来混淆,安装和(自动)刺激应用程序。我们强调,在测试应用的原始版本和混淆版本上的相同Monkey事件序列的结果是等效的,因为:(i)我们使用相同的种子,从而获得相同的事件序列(ii)Obfuscapk不会影响相关XML文件(按钮,可编辑字段等)中定义的应用的布局。(iii)当Obfuscapk重命名某个组件时,如果需要,它会修改 manifest文件。通过这种方式,S. Aonzo,G.C.格奥尔久湖Verderame等人粤公网安备44010802000011号5====− ==−− =by Monkey触发了原始中的相同组件,在混淆的应用中,而混淆的应用的代码在语义上等同于原始应用中的代码5.1. 稳定性结果我们的结果表明,在1000个样本中,47个重新打包的应用程序在步骤2失败,即,无法成功安装。其中,有8个APK在步骤3中失败,这意味着相应的因此,我们丢弃了它们,并考虑了一个新的集合,由没有损坏的APK的原始样本组成;即1000 8 992个应用程序。在这个集合中,95%(940/ 992)的重新打包应用程序已成功安装。然后,我们根据4刺激安装的应用程序。其中,817辆被重新包装和刺激,没有崩溃,而123 940 817辆失败,需要进一步分析。因此,我们将步骤5应用于此类应用程序,获得6个原始应用程序崩溃,从而证明相同的问题也影响了原始应用程序。为此,我们也丢弃了这些APK,总数达到992个6986个原创应用程序。总而言之,83%的817/ 986工作应用程序已成功混淆,安装并在混淆过程后正确执行。值得指出的是,Monkey[37]不是一个动态测试Android APK的综合工具;因此,83%必须被视为上限。我们不鼓励使用Monkey来测试生产中应用的稳定性然后,我们试图将17%169/ 986例失效。首先,Obfuscapk依赖于Apktool来反编译和重建目标APK。为了了解如果APK崩溃,因为Apktool的故障,我们已经重复了我们的实验,只是使用重建,NewAlign-和Obfuscapk的NewSignature组件。这样,Obfuscapk不会对目标APK进行任何更改,但它只是使用Apktool重建应用程序(这需要对齐和签名安装APK)。66%的111/ 169失败。 不幸的是,使用黑箱方法(即,没有源代码的应用程序),这是不可行的区分失败的Apktool重建过程或由原始应用程序实施的防篡改技术引起的故障。相反,其余34%的58/ 169由于进行了修改而失败关于Obfuscapk不幸的是,失败的原因是异构的和特定于APK的。尽管如此,我们注意到最常见的失败与反射的使用有关,即,当Obfuscapk重命名类或方法时,应用尝试加载使用原来的名字。6. 影响和结论Obfuscapk是一个黑盒模糊处理工具,可以与每个AndroidAPK一起使用,并提供具有高级模糊处理技术的免费解决方案。用户可以使用新研究的混淆技术来扩展Obfuscapk,也可以改进现有的混淆技术。此外,可以采用Obfuscapk来研究具有最新技术水平的混淆转换对程序分析的影响。值得注意的是,同一应用程序的混淆版本可能会有效地上传到Play商店,取代现有版本。唯一的约束是包名保持不变,因为它被用作唯一标识符。据我们所知,Obfuscapk不违反Play商店的任何规则。在可预见的未来,我们希望围绕Obfuscapk的开发者和用户社区能够增长,以便该工具能够在功能和稳定性方面进行改进,从而成为Android应用程序混淆的研究和工业参考实现。竞合利益我们希望确认,本出版物没有已知的利益冲突,也没有可能影响其结果的财务支持。确认这项工作得到了意大利部长理事会主席赠款的部分支持。引用[1]Apvrille A,Nigam R. android恶意软件中的混淆,以及如何反击。VirusBull2014;1-10.[2]舒洁,李洁,张勇,顾东.通过解释混淆保护Android应用程序。2014年IEEE第12届可靠、自主和安全计算国际会议。IEEE; 2014,p.63比8[3]Rastogi V,Chen Y,Jiang X. Droidchameleon:评估android反恶意软件对抗转换攻击。 载于:月8ACM SIGSAC信息、计算机和通信安全研讨会。ACM; 2013,p. 329比34[4]放大图片作者:Bichsel B,Raychev V,Tsankov P,Vechev M. android应用程序的统计去混淆。2016年ACM SIGSAC计算机和通信安全会议论文集。ACM; 2016,p.343比55[5]董S,李明,刁文,刘X,刘J,李Z,徐芳,陈K,王X,张K. 了解android混淆技术:野外大规模调查。在:通信系统中的安全和隐私国际会议。Springer;2018,p. 172比92[6]Wermke D,Huaman N,Acar Y,Reaves B,Traynor P,Fahl S.一个大规模的调查混淆使用谷歌播放。第34届计算机安全应用年会论文集。ACM;2018,p. 222比35[7]Wu D-J , Mao C-H , Wei T-E , Lee H-M , Wu K-P. Droidmat : androidmalwaredetectionthroughmanifest and apicalls tracing. 信 息 安 全(AsiaJCIS),2012年 第 七届 亚洲联合会议。IEEE; 2012,p.62比9[8]Aung Z , Zaw W. 基 于 许 可 的 Android 恶 意 软 件 检 测 。 Int J SciTechnolRes2013;2(3):228-34.[9]Sanz B,Santos I,Laorden C,Ugarte-Pedrero X,Bringas PG,Álvarez G.A:权限使用来检测Android中的恶意软件。参加:国际联合会议CISIS[10]LiuX , LiuJ.Atwo-layeredpermission-basedandroidmalwaredetectionscheme.In : MobileCloudComputing , Services , andEngineering ( mobilecloud ) , 2014 2nd IEEE international conference on.IEEE; 2014,p. 1 4 2 比8[11][10]李文辉,李文辉,李文辉. DREBIN:有效和可解释的检测Android恶意软件在你的口袋里。In:NDSS. 2014年。[12][10]张文辉,张文辉,张文辉.使用线性SVM集成多模态特征用于Android恶意软 件 检 测 。 In : InformationSecurity ( AsiaJCIS ) , 2016 11th asia jointconference on. IEEE; 2016,p. 141 -6[13]杨志华,陈文辉. Pindroid:一种基于集成学习方法的Android恶意软件检测系统。Comput Secur2017;68:36-46.[14][10]杨文,杨文.低资源占用,android上的数据驱动恶意软件检测。IEEETrans Sustain Comput2017.[15][10]杨文军,杨文军. Droidsieve:快速准确地分类混淆的android恶意软件。第七届ACM数据和应用程序安全与隐私会议论文集。ACM; 2017,p.309比20[16]Garcia J,Hammad M,Pedrood B,Bagheri-Khaligh A,Malek S.混淆-弹性,高效,准确的检测和android恶意软件的家庭识别。Tech.代表,计算机科学系,乔治梅森大学;2015年。[17][10]张文辉,张文辉.是的,机器学习可以更安全!Android恶意软件检测的案例研究。IEEE跨部门安全计算2017。[18]陈新,李春,王丹,温S,张J,尼帕尔S,向Y,任K。Android hiv:重新包装 恶 意 软 件 以 逃 避 机 器 学 习 检 测 的 研 究 。 2018 年 , arXiv 预 印 本 arXiv :1808.04218。[19]Zheng M,Lee PP,Lui JC. ADAM:一个自动化和可扩展的平台对 安卓反病毒系统进行压力测试 In:入侵和恶意软件检测以及漏洞评估国际会议。Springer; 2012,p. 82比1016S. Aonzo,G.C.格奥尔久湖Verderame等人粤公网安备44010802000011号[20]Dalla Preda M,Maggi F.针对代码混淆测试android恶意软件检测器:知识系统化和统一方法。JComput Virology Hacking Tech2017;13(3):209-32.[21]ProGuard。https://www.guardsquare.com/en/proguard网站。[2020年5月26日]。[22]阿拉托里 http://www.allatori.com网站。 [2020年5月26日]。[23]DashO。https://www.preemptive.com/products/dasho/overview网站。[2020年5月26日[24] DexProtector。https://dexprotector.com网站。[2020年5月26日]。[25] 盾牌4J http://shield4j.com网站。[2020年5月26日]。[26]杨 志华 , 李志 华.隐 形攻 击 : 对android 恶 意软 件 混淆 效 果的 扩 展洞 察 。ComputSecur2015;51:16-31.[27]Shabtai A,Fledel Y,Elovici Y.使用机器学习对android应用程序进行自动静态代码分析。2010年计算智能与安全国际会议。IEEE; 2010,p. 3 2 9 比33[28][10]杨文,李文. android应用框架的去神秘化:再谈android权限规范分析。第25届{USENIX}安全研讨会({USENIX}Security 16)。2016,p. 1101-18[29] CometBot 原 创 。 这 是 一 个 很 好 的 例 子 。 我 很 高 兴 。com/gui/file/642da73bc4c78004304dfed2e6e704ebbb352ff9f1db19a19c2296c86164e723.[2020年5月26日]。[30]病毒总数。 https://www.virustotal.com网站。 [2020年5月26日]。[31] CometBot -用琐碎的技术混淆。这是一个很好的例子。我很高兴。com/gui/file/1fe6ad3bd534bf9f42cbdefa66e9db1760bb110d978dfb28517bd61fb5e9a16。[2020年5月[32]CometBot这是一个很好的例子。我很高兴。com/gui/file/e58332461b8151e842369a635fa01822289f45128c5d5afccc981c7cb2ba170d4. [2020年5月[33] CometBot 这是一个很好的例子。我很高兴。com/gui/file/feddd8ac2ce246105c5df050061ea5dad8cb5da8411010646f3f9eb8dbbc1b4个4. [2020年5月26日]。[34] CometBot -使用代码操作进行混淆。这是一个很好的例子。我很高兴。com/gui/file/356a5c92670b825d0bf3e2e927ce3f2ff3a407ad1b6e91119a8056391e665b0c。[2020年5月[35] CometBot 这是一个很好的例子。我很高兴。com/gui/file/ccc394ba746f5630d97f06df89d851438c866c6179e39eb5d706969ca7a40de0.[2020年5月[36]ANDROIDRANK https://www.androidrank.org/app/ranking?价格=免费。[2020年5月26日]。[37]UI/应用程序训练猴子。https://developer.android.com/studio/test/monkey.html。[2020年5月26日]。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功