基于特征表达增强的恶意代码家族分类方法,首先反编译恶意代码源程序得到 .bytes文件和 .asm文件,然后通过N-Gram算法提取 .asm文件的文本特征,将两类文件转换成灰度图像,通过灰度共生矩阵和灰度直方图提取纹理特征和颜色特征,最后融合文本特征、纹理特征、颜色特征三类单一特征构建新的融合特征,增强恶意代码特征表达能力。
randomsubset.py
抽取训练子集getMap
获取ASM文件和Byte文件的灰度图
getColor.py
获取灰度图像的颜色特征getText.py
Opcode n-gram获取ASM文件的文本特征getTexture.py
获取ASM文件图像纹理特征
ClassificationOfColor.py
基于颜色特征的家族分类ClassificationOfText.py
基于文本特征的家族分类ClassificationOfTexture.py
基于纹理特征的家族分类ClassificationOfFusion.py
基于融合特征的家族分类
MainWindow.ui
主界面UIMainWindow.py
主界面UI对应的Pyqt代码MainWindowControl.py
主界面对应控件的逻辑
- 将完整的训练数据集解压,修改
randomsubset.py
中的路径并运行 - 修改
getMap
中的路径,转换灰度图 - 修改
getColor.py
,getText.py
和getTexture.py
中的路径,提取对应特征 - 运行
run.sh
,耐心等待不同特征的家族分类结果 - 运行
MainWindowControl.py
,进行简单功能演示