2026年3月23日,Antiy_MAE_2.1.29-beta发布。
百度网盘下载链接(https://pan.baidu.com/s/1tNZnNA-8U9cdmHjJcSSmNw?pwd=69p3)
### 2.1.29-beta
- 统一帮助菜单与其它菜单风格,减少偶尔出现点击菜单异常情况。
- 解决外部插件配置失效问题。
- 解决外部插件加载失效问题。
- 解决接入百科和协同服务器的状态显示问题。
- 修改外部插件接口,外部插件调用支持参数。
- 修改PE结构相关定义(为将来兼容ELF)。
- 增加插件:1、恶意资源提取插件;2、IP、域名字符串过滤插件;3、安天威胁情报查询插件
- 已知Bug:1、在MAE分析结束前调用插件,插件执行会显示超时;2、插件如返回中文信息,会出现编码错误。
插件示例及接口下载:
MAE_Plugins.zip
(139.66 KB, 下载次数: 88)
其中,interface/plugin_interface.h 描述了MAE为插件提供的能力(如,GetFileBasicInfo获取文件基本信息),以及插件必须实现的几个供MAE调用的函数(如,获取插件名称GetPluginName)。
插件需要实现的最重要的一个函数是ExecuteFunction,该函数定义为 char *ExecuteFunction(const char *jsonInput, IMAE3_Server *pServer)。
jsonInput用于传入MAE给插件的参数(plugin_params),通过使用 json::parse解析该参数【如,json input = json::parse(jsonInput)】,可访问到plugin_params。
关于plugin_params的说明如下:
传入参数(jsonInput):
// plugin_params: {
// event : "open" , /* open - 插件菜单触发 close - 关闭插件执行窗口时触发 click - 对于表格数据,用户点击表格单元格时触发*/
// row:{ _index: N, ... } /* N 为用户点击表格行数,其余内容可变,系插件在open事件时传给前端的内容,以下为两个不同插件在click事件时接收到的参数*/
// /* row: { _index: 2, Addr: '0x42b848', String: 'kernel32.dll' }*/
// /* row: { _index : 54, Addr : '0x43fb58', Format : 'N/A',Name : '1', Size : 357, Type : 'MANIFEST'}*/
// }
ExecuteFunction函数需返回char *类型的结果,其内容为json格式的数据。为方便起见,可使用示例插件中的JsonToPtr函数,将json数据转换为char*类型。
关于返回数据的说明如下:
// {
// success: ture, /* true - 成功 false - 失败 */
// error: '' , /* 错误提示字符串,可选 */
// result: '' , /* 可以是字符串或数组:对于字符串,如果是空,MAE将保持上次结果,否则将显示在前端;对于数组,MAE将以表格方式呈现 */
// msg: '', /* 字符串,可选,如果非空,MAE将弹出消息控件 */
// prompt: '', /* 字符串,可选,如果有,将在MAE的表格下方显示*/
// }
插件压缩包里有写好的CMakeLists.txt,如果已经安装了Microsoft Visual Studio 2019,可直接运行Plugins_src下的build.bat编译。否则需要手工修改build.bat。
示例插件1(SuperStrings.dll)使用正则表达式过滤样本中的IP、域名等字符串,执行效果如下:
示例插件2(MalResExtractor.dll)根据资源类型过滤掉样本中的常见无害资源,对于剩下的已知或未知格式资源,可双击提取保存,执行效果如下:
|