System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体而言,本专利技术涉及一种android系统恶意软件反编译方法和系统。
技术介绍
1、安卓(android)是当前世界上流行的智能终端操作系统之一,因其开放性和免费特点而在全球范围内广泛应用。正因如此,许多研究人员和恶意软件分析者将他们的关注点放在了android平台上。随着技术不断进步,制作android恶意软件的成本也逐渐降低,这导致android恶意软件的数量不断增加。av-test institute最近的估计报告指出,每天新产生超过36万个恶意软件,平均每秒大约产生4.2个恶意软件。随之而来的是大量依附于移动恶意应用和移动恶意代码的黑灰色广告和流量变现的产业链,并导致一系列的安全问题,不仅仅直接侵害了个人用户的权益,还侵蚀和破坏整个开发者的良性生态。
2、目前对android恶意应用程序的反编译工具有很多,由google提供的apk(androidapplication package)编译工具apktool,可以将apk文件解压成smali代码和资源文件,同时也支持对这些代码和资源文件的重新打包。使用apktool可以方便地查看apk文件的内容,修改其中的资源或代码,或者分析其中的逻辑。apktool的使用比较简单,只需要在命令行中输入相应的指令即可。dex2jar是一款将android应用程序的dex文件转换成java字节码文件的工具,可以用于反编译apk文件。使用dex2jar可以将apk文件中的dex文件提取出来,并转换成java字节码文件,然后再使用java反编译工具(如j
3、随着技术的不断发展,当前的恶意apk越来越智能地采用了对抗静态分析的方法。这意味着恶意应用程序不仅仅是通过传统的静态分析技术容易检测和分析的,它们还使用了各种技巧和机制来逃避检测,使静态分析变得更加具有挑战性。这些方法包括代码混淆、动态加载、反调试技术等,使恶意apk更加难以分析和检测。
4、因此,为克服传统静态分析方法所面临的限制,以确保能够有效地识别和理解当前应用程序的内部结构和运行机制,本专利技术专利设计了一种新的反编译apk的方法。利用该方法获取apk包含的各种文件,并从这些文件中提取目标应用程序的特征,然后对这些特征进行分析。
技术实现思路
1、为了克服传统反编译方法的不足,本专利技术提出一种android系统恶意软件反编译方法和系统,适用于采用了反抗静态分析的恶意应用程序的情形。
2、本专利技术解决其技术问题所采用的技术方案是:
3、一种android系统恶意软件反编译方法,包括以下步骤:
4、1)数据采集:通过网络爬虫,从目标杀毒软件中抓取安卓apk文件,作为良性apk数据的来源。与此同时,从在线恶意样本库malwarebazaar中获取恶意apk文件,作为恶意apk数据的来源;
5、2)数据预处理:检测并处理异常或不合法的apk文件,这些文件可能由于错误或损坏而无法正常分析。同时,根据需要筛选数据,以删除或保留特定类型或属性的apk文件。最后,验证恶意apk数据,以确保数据的准确性;
6、3)apk反编译:在传统工具androguard的基础上,引入了对具有反抗静态分析策略的恶意应用程序进行解析的能力,对解析zip文件和xml文件的相关代码模块进行重新编写,以应对当前恶意应用程序的高级分析需求;
7、4)apk特征提取:利用3)中的apk反编译方法,对apk文件进行解析,从中提取androidmanifest.xml和classes.dex文件。然后,通过对这些源代码的静态分析,计算并获取各种统计特征;
8、5)apk特征结果比较:针对恶意apk样本和良性apk样本,对api特征和权限特征调用数量差异较大的特征进行综合分析,以全面了解它们之间的差异。
9、优选地,所述步骤1)中,数据采集包括以下过程:
10、步骤101,良性apk数据获取阶段,使用预设的网络抓取框架提供的网络爬虫脚本,从目标杀毒软件(例如,金山毒霸和360杀毒)中提取应用程序,即从目标杀毒软件中爬取良性的应用程序,并将这些抓取到的应用程序标记为后续分析的良性apk数据集样本;
11、步骤102,恶意apk数据获取阶段,从malwarebazaar在线平台中,获取最新的恶意apk数据集样本。
12、优选地,所述步骤2)中数据预处理包括以下过程:
13、步骤201,数据处理阶段,首先,遍历整个apk数据集,计算每个apk文件的唯一标识(如哈希值)。通过比较这些标识,识别和删除重复的apk数据,从而确保每个样本只出现一次,有效减少数据集的冗余性。其次,在数据收集或下载apk文件时,由于网络或其他原因,有时会出现下载中断的情况,导致文件不完整。为了确保数据的完整性,检查每个下载的apk文件,如果发现文件损坏或不完整,将其标记为问题文件并将其从数据集中移除,以保持数据集的完整性和可靠性。此外,为了确保数据集的质量,执行apk文件验证过程,以确定其是否为有效的android应用程序包。如果发现无效或损坏的apk文件,将其识别并从数据集中排除。
14、通过这一系列处理步骤,维护一个高质量、干净的apk数据集,以确保后续的分析工作基于可靠的数据进行,同时降低了潜在的错误和干扰。
15、优选地,所述步骤3)中apk反编译包括以下过程:
16、步骤301,zip解析阶段,在zip文件中,每个文件的头部信息标记变量被设置为b"\x50\x4b\x03\x04",中央目录的起始标记变量设置为b"\x50\x4b\x01\x02",中央目录的结束标记变量设置为b"\x50\x4b\x05\x06"。这些标记变量是zip文件格式中的关键标识,用于指示文件头、中央目录和中央目录的结束位置。此外,设置新的变量zip_deflated=8,用于表示使用deflate算法对文件进行压缩,以减小文件的大小。deflate算法是一种常用的压缩算法,可以有效地减小文件的体积。另外,设置新的变量zip_stored=0,该变量用于表示在文件已经高度压缩或不适合再次压缩时使用本文档来自技高网...
【技术保护点】
1.一种Android系统恶意软件反编译方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种Android系统恶意软件反编译方法,其特征在于,所述步骤1)中,数据采集包括以下过程:
3.如权利要求1所述的一种Android系统恶意软件反编译方法,其特征在于,所述步骤2)中数据预处理包括以下过程:
4.如权利要求1所述的一种Android系统恶意软件反编译方法,其特征在于,所述步骤3)中,APK反编译包括以下过程:
5.如权利要求1所述的一种Android系统恶意软件反编译方法,其特征在于,所述步骤4)中APK特征提取包括以下过程:
6.如权利要求1所述的一种Android系统恶意软件反编译方法,其特征在于,所述步骤5)中APK特征结果比较包括以下过程:
7.实现权利要求1所述的一种Android系统恶意软件反编译方法的系统,其特征在于:包括数据采集模块、数据预处理模块、APK反编译模块、APK特征提取模块、APK特征结果比较模块,其中,
8.一种Android系统恶意软件反编译装置,其特征
9.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-6中任一项所述的Android系统恶意软件反编译方法。
...【技术特征摘要】
1.一种android系统恶意软件反编译方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种android系统恶意软件反编译方法,其特征在于,所述步骤1)中,数据采集包括以下过程:
3.如权利要求1所述的一种android系统恶意软件反编译方法,其特征在于,所述步骤2)中数据预处理包括以下过程:
4.如权利要求1所述的一种android系统恶意软件反编译方法,其特征在于,所述步骤3)中,apk反编译包括以下过程:
5.如权利要求1所述的一种android系统恶意软件反编译方法,其特征在于,所述步骤4)中apk特征提取包括以下过程:
6.如权利要求1所述的一种android系统恶意软件反编译方法,...
【专利技术属性】
技术研发人员:伍一鸣,彭影影,温震宇,洪榛,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。