此物是我开发NGAV的产物,我觉得语义分析才是AI静态查杀引擎的未来,传统的AI查杀引擎已经不行了。
各种的白文件patch以及用库代码插入少量恶意代码的操作,这些传统的AI查杀引擎十分难查杀出来。
我觉得使用语义分析的ML引擎大概是可以被称为NGML的
使用libpeconv+capstone
首先我不再重复一遍解析PE的操作
大概流程就是
解析导入表,导出表,TLS回调,资源表,重定位表,异常表,先全部解析一遍。
然后用capstone反汇编,然后将指令中的地址替换成符号名称(比如地址->VirtualProtect)
接着就是大家比较感兴趣的伪代码生成,大致流程如下
识别函数起始点(入口点,call目标)
将指令翻译成类C语句:mov->赋值, add->+=, cmp/test记录条件, 条件跳转->if(condition) goto label, call->函数调用, ret->return等
我并不是完全为了制造一个和IDA PRO一样的东西 于是乎这样做就基本够给AI语义分析了
最终效果

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!