System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于基因遗传工程的APK数据集自动生成方法及系统技术方案_技高网

一种基于基因遗传工程的APK数据集自动生成方法及系统技术方案

技术编号:43059757 阅读:11 留言:0更新日期:2024-10-22 14:39
本发明专利技术公开了一种基于基因遗传工程的APK数据集自动生成方法及系统。APK数据集自动生成方法包括:对解压后APK文件进行静态分析;选择部分APK文件特征并用基因序列的方式表示;对基因组集合中的基因序列进行随机选择;将随机基因序列加入基因组集合中进行基因特征评估,再将基因组集合放入遗传算法进行训练;采用新的基因组更新基因组集合;将更新后的基因组集合中的基因序列重新映射回相应文件,再重新打包Android应用。自动生成系统包括APK静态分析模块、APK基因生成模块、APK特征遗传模块、APK重打包模块。本发明专利技术能够克服现有数据集中种类不够、数量不足、获取周期长等困难,为用户较为便利地提供大量APK集。

【技术实现步骤摘要】

本专利技术属于android应用程序数据集生产,尤其涉及一种基于基因遗传工程的apk数据集自动生成方法及系统。


技术介绍

1、android操作系统依靠兼容性强、功能齐全和具有开放性的优势,成为目前占据市场份额最大的移动智能终端操作系统。由于android操作系统的开源性,攻击者能够很容易的将自己的恶意代码插入到一个正常的应用程序中从而进行恶意攻击或执行未经授权的危险行为,如此大数额的android智能手机便成为了移动端恶意代码的主要攻击目标。

2、以apk自动化分析为依托的取证手段在实际对恶意apk进行分类识别时,由于训练所采用的数据集样本有限,手动收集和准备apk文件繁琐耗时,且首次出现的新型恶意apk往往因为没有对应类型而无法被第一时间发现。因此,自动化生成新型apk数据集的方法变得至关重要。

3、appy pie用于构建android apk应用程序,使用快速便捷,可以在几分钟内创建一个应用程序。但是软件无法批量创建用于实验的新型恶意apk。现有公开的的apk应用程序创建软件还有flutter、beeware等,但这些工具都缺少以下功能:

4、1.自动化生成apk的批量工程功能;

5、2.通过分析已有apk内部特征后生产新型apk的功能;

6、3.生产实验用apk的简洁高效性。


技术实现思路

1、专利技术目的:本专利技术的目的是提供基于基因遗传工程的apk数据集自动生成方法,解决现有数据集中种类不够、数量不足、获取周期长等问题。本专利技术的另一目的在于提出一种apk数据集自动生成系统,解决如何执行上述方法的问题。

2、技术方案:本专利技术所述的一种基于基因遗传工程的apk数据集自动生成方法,包括如下步骤:

3、对解压后apk文件进行静态分析,得到apk文件特征;

4、选择部分apk文件特征并用基因序列的方式表示,得到基因组集合;

5、对基因组集合中的基因序列进行随机选择,生成随机基因序列;

6、将随机基因序列加入基因组集合中进行基因特征评估,再将经过评估的基因组集合放入遗传算法进行训练,得到新的基因组;

7、采用新的基因组更新基因组集合;

8、将更新后的基因组集合中的基因序列重新映射回相应文件,再重新打包android应用。

9、优选地,所述对解压后apk文件进行静态分析包括:对解压后的apk文件进行反编译和转jar包,再对apk文件进行信息提取,分析apk文件中的组件和结构得到apk文件特征。

10、优选地,所述反编译和转jar包的方法为:采用apktool工具进行反编译,同时采用dex2jar工具将获得的classes.dex文件转化为jar包文件。

11、所述apktool是google提供的apk编译工具,能够反编译及回编译apk,能查看res文件下的xml文件、androidmanifest.xml和图片。在反编译子模块中,由于apktool工具运行在命令行下,因此需要在系统中使用subprocess.popen()函数新开启一个系统进程,然后通过exec()系统调用在新进程中执行”apktool d apkname”命令,执行完毕后关闭进程。

12、所述dex2jar是一个能操作android的dalvik(.dex)文件格式和java的(.class)的工具集合。在反编译子模块中,由于dex2jar工具运行在命令行下,因此需要在系统中使用subprocess.popen()函数新开启一个系统进程,然后通过exec()系统调用在新进程中执行”d2j-dex2jar--force classes.dex”命令,执行完毕后关闭进程,再对jar包进行解包操作得到结果。

13、优选地,所述对apk文件进行信息提取包括:提取apk文件的包名、sdk版本、主活动、app名、权限信息、详细权限信息、图标、安卓版本名;

14、所述分析apk文件中的组件和结构包括采用androguard工具分析dex文件、manifest文件、资源文件、代码和反编译结果。

15、所述androguard是一个用python编写的开源工具,用于分析android应用程序和恶意软件。它提供了一系列工具,可以帮助安全研究人员分析和检测android应用程序的安全漏洞和恶意行为,也可以帮助分析人员分析apk文件中的各种组件和结构,如dex文件、manifest文件、资源文件、代码和反编译结果。

16、优选地,所述选择部分apk文件特征并用基因序列的方式表示包括如下步骤:

17、构建特征二进制与特征代码一一对应关系的映射数据库;

18、选择apk文件特征中的文件类型、文件大小、文件内容、文件路径作为映射特征,基于映射数据库,将每个映射特征映射到一个固定长度的二进制序列,即特征二进制序列;

19、在每条特征二进制序列中增加二进制数的优先级标签,得到二进制基因序列;

20、将固定数量的二进制基因序列组合成若干基因组,若干基因组形成基因组集合。

21、优选地,所述构建特征二进制与特征代码一一对应关系的映射数据库包括:

22、将同一文件特征放置在同一表格中,每份表格由文件特征命名区分;

23、数据库表格中的第一列存放文件特征,第二列存放文件特征为0时的底层代码,第三列存放文件特征为1时的底层代码;其中,0代表该文件特征不存在或是未启用,1代表文件特征存在且启用;

24、基于静态分析,逐个扫描apk文件,以第一个apk文件作为范本,范本扫描结束后,之后的apk文件每多出现一个新的文件特征,就创建一个新的表格,以此类推,完成映射数据库的搭建填充。

25、优选地,所述将随机基因序列加入基因组集合中进行基因特征评估,再将经过评估的基因组集合放入遗传算法进行训练包括:

26、将随机基因序列加入基因组集合中得到待评估数据集,基于待评估数据集的覆盖范围、多样性、代表性,对待评估数据集中的每个二进制基因序列进行适应度评估,保证待评估数据集中每个基因组完整可用,且组间存在差异;

27、将经过评估的基因组通过单点交叉、多点交叉、均匀交叉和随机改变中的至少一种方式进行遗传,得到新的基因组。

28、优选地,所述采用新的基因组更新基因组集合包括:

29、将新的基因组进行优先级标签更新,再将新的基因组加入基因组集合中以更新基因组集合;

30、每次更新完基因组集合后进行终止条件检测,判断是否在此时到达最大迭代次数,若到达,则结束基因遗传;若未到达,则将新的基因组进行适应度评估,进行下一次迭代。

31、优选地,所述将更新后的基因组集合中的基因序列重新映射回相应文件包括:

32、基于映射数据库,将迭代更新后的基因组集合中的二进制基因序列重新映射回对应的特征代码,再根据特本文档来自技高网...

【技术保护点】

1.一种基于基因遗传工程的APK数据集自动生成方法,其特征在于,包括如下步骤:

2.根据权利要求1所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述对解压后APK文件进行静态分析包括:对解压后的APK文件进行反编译和转jar包,再对APK文件进行信息提取,分析APK文件中的组件和结构得到APK文件特征。

3.根据权利要求2所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述反编译和转jar包的方法为:采用ApkTool工具进行反编译,同时采用dex2jar工具将获得的classes.dex文件转化为jar包文件。

4.根据权利要求2所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述对APK文件进行信息提取包括:提取APK文件的包名、sdk版本、主活动、app名、权限信息、详细权限信息、图标、安卓版本名;

5.根据权利要求1所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述选择部分APK文件特征并用基因序列的方式表示包括如下步骤:

6.根据权利要求5所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述构建特征二进制与特征代码一一对应关系的映射数据库包括:

7.根据权利要求1所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述将随机基因序列加入基因组集合中进行基因特征评估,再将经过评估的基因组集合放入遗传算法进行训练包括:

8.根据权利要求1所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述采用新的基因组更新基因组集合包括:

9.根据权利要求5所述基于基因遗传工程的APK数据集自动生成方法,其特征在于,所述将更新后的基因组集合中的基因序列重新映射回相应文件包括:

10.一种APK数据集自动生成系统,其特征在于,包括:

11.根据权利要求10所述APK数据集自动生成系统,其特征在于,所述APK静态分析模块包括反编译子模块和信息提取子模块;

...

【技术特征摘要】

1.一种基于基因遗传工程的apk数据集自动生成方法,其特征在于,包括如下步骤:

2.根据权利要求1所述基于基因遗传工程的apk数据集自动生成方法,其特征在于,所述对解压后apk文件进行静态分析包括:对解压后的apk文件进行反编译和转jar包,再对apk文件进行信息提取,分析apk文件中的组件和结构得到apk文件特征。

3.根据权利要求2所述基于基因遗传工程的apk数据集自动生成方法,其特征在于,所述反编译和转jar包的方法为:采用apktool工具进行反编译,同时采用dex2jar工具将获得的classes.dex文件转化为jar包文件。

4.根据权利要求2所述基于基因遗传工程的apk数据集自动生成方法,其特征在于,所述对apk文件进行信息提取包括:提取apk文件的包名、sdk版本、主活动、app名、权限信息、详细权限信息、图标、安卓版本名;

5.根据权利要求1所述基于基因遗传工程的apk数据集自动生成方法,其特征在于,所述选...

【专利技术属性】
技术研发人员:梁广俊王群印杰夏玲玲刘家银诸葛程晨郭向民倪雪莉徐杰马卓唐可言陆优陈孟轩徐仲平张扬许懿铨
申请(专利权)人:江苏警官学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1