前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用UnhookMe分析恶意软件中未受监控的系统调用问题

使用UnhookMe分析恶意软件中未受监控的系统调用问题

作者头像
FB客服
发布2023-03-30 21:11:23
2710
发布2023-03-30 21:11:23
举报
文章被收录于专栏:FreeBufFreeBuf

关于UnhookMe

UnhookMe是一款通用的Windows API动态解析工具,可以帮助广大研究人员分析和处理恶意软件中未受监控的系统调用问题。

在这个侵入式反病毒产品和EDR产品盛行的年代,很多网络攻击者必须拥有强大的工具来绕过这些安全防御工具。而动态导入解析器能够在运行中取消已用函数的钩子,这也是增强攻击者攻击能力的又一方法。

而UnhookMe可以帮助广大研究人员在编译的可执行文件的PE头中保持可视性。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/mgeeky/UnhookMe.git

工具使用

我们总共需要在自己的解决方案中引入五个C++源文件/头文件。不过,你的主程序文件仅需要引入两个必要的头文件即可,文件描述如下:

resolver.h - 头文件中包含了UnhookingImportResolver的大部分实现;

resolver.cpp - 包含了全局选项的源代码;

usings.h - 一个非常大的头文件,包含了针对常见Windows API的using类型定义;

PE.cpp - 自定义PE解析器源代码文件;

PE.h - 自定义PE解析器源头文件;

必要的头文件

你的程序仅需要下列两个必要的头文件:

代码语言:javascript
复制
#include "usings.h"
#include "resolver.h"

全局选项

下面给出的是解析器的全局配置选项,我们可以根据自己的需要来进行修改,这些参数全部定义在resolver.cpp文件中:

globalQuietOption - 如果你不想获取输出,则设置为true;

globalVerboseOption - 如果你想要获取详细的Verbose输出,则设置为true;

globalAntiSplicingOption - 解除函数钩子;

globalLogFilePath - 重定向输出日志;

代码语言:javascript
复制
bool globalQuietOption = false;
bool globalVerboseOption = true;
bool globalAntiSplicingOption = true;


wchar_t globalLogFilePath[MAX_PATH] = L"";

项目地址

UnhookMe:【点击文末阅读原文】

精彩推荐

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于UnhookMe
  • 工具下载
  • 工具使用
  • 必要的头文件
  • 全局选项
  • 项目地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档