word2vec和TF-IDF文件夹均封装成python模块。
viper-plugin内有mcrtools文件夹和mcr.py,将这两个文件放入viper/viper/modules即可。
本插件实现了基于word2vec和TF-IDF算法的恶意程序分类识别。
语言:Python3
系统:Windows & Linux
软件:IDA Pro & idapython(windows), viper(linux)
在windows系统下准备好恶意程序的训练集和测试集。
训练集
测试集
在文件夹word2vec同层目录下打开命令行,例子如下
当执行结束后,脚本会在恶意样本文件夹同层目录下生成一个名为asm的文件夹,存储恶意样本生成的汇编代码,一个名为ans的文件夹,存储asm文件转化的由汇编指令组成的语句文件,以及一个文件top100.txt,存有按出现次数从多到少排序的汇编指令列表。
# l1b0 @ l1b0-PC in /media/l1b0/软件工程_日常/大四上/小学期 [13:51:53]
$ ls
ans
asm
top100.txt
PE文件-文件名为家族名在文件夹TF-IDF同层目录下打开命令行,例子如下
执行结束后,脚本会在恶意样本文件夹同层目录下生成一个名为api的文件夹,存储恶意样本中提取的api,一个名为functimes的文件夹,存储样本中的api向量,以及一个名为topapi.txt的文件,存储关键程度高的api名字。
# l1b0 @ l1b0-PC in /media/l1b0/软件工程_日常/大四上/小学期 [13:51:53]
$ ls
api
functimes
topapi.txt
PE文件-文件名为家族名将viper-plugin文件夹里的mcrtools文件夹及mcr.py放在viper/viper/modules路径下。
在路径/viper下执行sudo pip3 install .更新模块。
执行下图命令开始模型的训练,参数一代表word2vec方法生成的语句文件,参数二代表TF-IDF方法生成的api向量文件,二者缺一不可。
训练完成后会在ans同目录下生成一个model文件夹,里面存储了训练产生的模型,用于后续预测样本。
在文件夹word2vec同层目录下打开命令行,例子如下
在文件夹TF-IDF同层目录下打开命令行,例子如下
结束后会在ans同目录下生成一个answer.txt的文件,存有每个样本的预测结果。







