Mazewalker的目标是通过自动化运行时数据收集和更好的可视化来减少恶意软件分析时间,最终可以帮助研究人员专注于静态分析,而不是其动态部分。

包装的代码- MazeWalker监视执行代码执行的所有内存区域,以便稍后重建整个执行。如果已经监视的区域(运行时代码解密)发生了代码更改,则将保存新版本,以供以后分析。这种方法似乎对于一般代码解开包装很有用。
位置独立代码- 解决间接控制流动变化问题( jmp eat , call [eax]等),指令参考地址和控制流量变化目标地址将在静态阶段进行以后使用。
系统API-这不是秘密,了解执行过程中使用的系统API参数可能有助于理解恶意软件内部设备和整体目的。因此,MazeWalker具有基于Python的API呼叫站点分析,以节省或更改所使用的API参数。可以在专用Wiki页面上阅读更多内容。
代码覆盖范围- MazeWalker在所有受监视过程中收集了执行的所有基本块的列表。该信息用于通过标记IDA数据库中的控制流程图来协助代码导航。
代码分散- 当今大多数恶意软件都将使用代码注入并将自己分配到系统上的不同过程中。 Mazewalker能够遵循这些注入路径并在所有过程中收集数据,以显示样本行为的更清晰图片。
环境检测- 许多反研究技术都是基于各种系统API收集的信息。由于MazeWalker的API截距能力是基于脚本的,因此添加新的反抗研究对策(Wiki)非常容易。
可视化- 所有收集的运行时信息均由IDApython插件处理,并以更多(希望)有意义的方式呈现。可视化的新方法,考虑了运行时信息,并显示了代码如何执行人均视图。这种方式在逻辑上有助于了解程序的设计,并进一步关注特定任务。


Mazewalker基于Intel的PIN框架,用于运行时数据收集和IDAPYTHON用于IN-IDA IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-INICATION。

请参阅Wiki以获取详细说明。