一款专业的 Windows 恶意程序分析与清理工具

大家好,今天给大家分享一款专业的 Windows 恶意程序分析与清理工具OpenArk,它能够帮助用户发现系统中隐藏的恶意软件。

OpenArk是一款Windows平台上的开源Ark工具. Ark是Anti-Rootkit(对抗恶意程序)的简写, OpenArk目标成为逆向工程师、编程人员的工具,同时也能为那些希望清理恶意软件的用户服务。以后也将会支持更多功能和命令。

项目介绍

OpenArk允许用户查看和操作进程、线程、模块、句柄、内存、窗口等,并包含了进程注入等高级功能。此外,它还提供了内核级别的工具来检查和操作内存管理、驱动程序、热键、回调、过滤驱动等,以对抗和分析潜在的恶意软件行为。

特色功能

1. 进程

支持查看进程、线程、模块、句柄、内存、窗口、Token、内存扫描、PPL等信息,还有模块卸载、进程注入等功能。

  • 创建进程Dump

使用OpenArk,选定进程,右键创建Dump,可选Fulldump或Minidump,一般进程内存使用不多的情况下,Dump都选Fulldump。

  • 定位进程文件

程列表中选择进程,右键Explore File,或者使用快捷键Ctrl + L,即可定位到进程文件路径。

  • 批量结束进程

批量结束进程跟查找进程参数基本一致,仅多了结束进程动作。

使用命令:

复制代码
.ps -kill -name <进程名模糊匹配>
.ps -kill -path <进程路径模糊匹配>
.ps -kill -pid <进程ID,逗号分隔>
  • 查看内存信息

查看系统内存使用:

复制代码
C:\>.mm
PageSize : 4096 B
Memory Usage : 89.11%
-------------------------------------------
CommitTotal : 14.28 GB (14625.38 MB)
CommitLimit : 21.40 GB (21918.15 MB)
CommitPeak : 15.58 GB (15955.36 MB)
-------------------------------------------
PhysicalTotal : 15.95 GB (16337.25 MB)
PhysicalAvailable : 1.74 GB (1778.73 MB)
-------------------------------------------
KernelTotal : 0.94 GB (966.70 MB)
KernelPaged : 0.74 GB (756.39 MB)
KernelNonpaged : 0.21 GB (210.31 MB)
SystemCache : 2.90 GB (2964.89 MB)

查看进程内存使用:

复制代码
C:\>.mm -pid 488
Working set : 5.48 MB
WS Private : 1.59 MB
Private : 1.91 MB
PeakWorkingSet : 5.55 MB
PageFaultCount : 1875
-------------------------------------------
QuotaPagedPoolUsage : 0.11 MB
QuotaNonPagedPoolUsage : 0.02 MB
QuotaPeakPagedPoolUsage : 0.12 MB
QuotaPeakNonPagedPoolUsage : 0.02 MB
-------------------------------------------
PagefileUsage : 1.91 MB
PeakPagefileUsage : 2.28 MB
  • 查看进程基本信息

进程列表中选定进程,双击或者Ctrl + P查看Properties,如下图所示:

  • 查看进程模块

进程列表中选定进程,模块如下图所示:

  • 查看进程窗口

进程列表双击(或者右键查看Properties),选择WindowList,如下:

  • 查看进程线程

在进程列表双击(或者右键查看Properties),选择Thread,如下:

  • 通过PID选择进程

使用快捷键Ctrl + G,可输入进程ID(10进制或16进制)来定位进程,如下图所示:

2. 内核

系统内核工具,例如:内存管理、驱动、热键、回调、过滤驱动、存储、IDT/SDT/NDIS/WFP等功能。

  • 查看被占用的系统热键

经常会遇到系统热键/快捷键被占用,但是不知道被谁占用。OpenArk现已加入可以枚举和摘除系统热键的功能,支持Win7/Win8/Win8.1/Win2012/Win2016/Win10 (~2004) x86/x64 Win7及以上所有版本)。

注意:如果上面没获取对应的热键,请检查你输入法的快捷键(比如:微软拼音/搜狗/谷歌输入法等),因为输入法的快捷键是单独管理的,不在系统全局热键中。

  • 解锁被占用的文件

经常会遇到文件或文件夹被占用,但是却不知道被谁占用着,故OpenArk加入了类似Unlocker(老一代软件)的文件解锁功能,能够快速地帮用户解决文件占用问题。

由于某些程序的自身实现逻辑,解锁某些文件后,会导致该程序退出;另外有时候结束相关的进程也许不够优雅,但是却是一种比较实用的方式。

3. 编程助手

程序员的工具箱。

  • 时间戳转换

使用命令.ts,查看说明:

复制代码
C:\>.help .ts
.ts - show unix timestamp
.ts 1234566/0n22222/0x431203BC [show timestamp]
  • 查看文字编码

文字编码种类繁多,常见的是ASCII、UTF-8、UTF-16、GBK、BIG5等。对于汉化人员或者经常遇到乱码的开发人员来说,查看文字编码显得尤为重要。

  • 查看窗口消息ID

查看消息处理过程函数原型,窗口消息ID即是uMsg,通常我们逆向分析跟踪消息处理过程时经常会用到。

查看所有消息ID,可通过.msg命令,.msg使用说明:

复制代码
C:\>.help .msg
.msg - show window message id
.msg [show message id list]
.msg -name button [show message name matched *button*, eg:WM_LBUTTONDOWN...]
.msg -id 201/0x201/0n513 [implies WM_LBUTTONDOWN]
  • 系统错误值查看

可使用图形化工具,也可使用.err命令

查看.err命令使用说明:

复制代码
C:\>.help .err
.err - show LastError or NTSTATUS
.err 2 [show LastError]
.err -s c0000034 [show NTSTATUS]
  • 进制转换

    值修饰前缀和Windbg保持一致。
    二进制:0y (BIN)
    八进制:0t (OCT)
    十进制:0n (DEC)
    十六进制:0x (HEX)
    默认值:针对不同命令可能不一致,如.ps 和 .wnd具体查看对应命令的使用说明

.fmt使用帮助

复制代码
C:\>.help .fmt
.fmt - show value formats, default radix is 16(hex)
.fmt 0x400/0n1024 [Hex(0x),Dec(0n),Oct(0t),Bin(0y)]

C:\>.fmt 123
HEX: 123
DEC: 291
OCT: 443
BIN: 00000001 00100011
STR: ..

4. 扫描器

PE/ELF文件解析器,以后会变成病毒分析助手。

PE文件是Windows下的可执行程序,与之对应的是Linux下的ELF,macOS下的Mac-O,都是遵从COFF结构标准,两个基本要素是:头Header + 区段(Section),头是属于Meta数据,区段是具体内容。

查看PE文件结构使用方法,如下图所示:

查看基本信息

5. 捆绑器

目录和多个程序可以捆绑成一个exe程序,同时支持脚本。

示例,请查看制作一个捆绑程序

6. 工具库

精心挑选了许多有用的小工具,这些和OpenArk既有功能互补,高效率,我们一直在思考。

7. 语言

目前支持中文和英文,以后会支持更多。

安装使用

  • 程序:独立的exe,无DLL依赖,支持32位、64位。

  • 支持系统:Windows XP ... Win7 ... Win10 ... Win11 ...

下载地址,请前往Github发布页

编译安装,请参考编译安装指南

项目地址

复制代码
https://github.com/BlackINT3/OpenArk
相关推荐
吴声子夜歌4 小时前
Java数据结构与算法——基本数学问题
java·开发语言·windows
这儿有一堆花7 小时前
用原生脚本编写无害恶作剧
windows
因我你好久不见7 小时前
Windows部署springboot jar支持开机自启动
windows·spring boot·jar
夜流冰8 小时前
Excel - MS Support for Excel: 2 Collaborate
数据库·windows·excel
林瞅瞅8 小时前
PowerShell 启动卡顿?内存飙升?原来是 800MB 的历史记录在作祟!
windows
Shepherd06199 小时前
【Windows Server 实战】WAC 反向代理配置
windows
云小逸9 小时前
【windows系统编程】第一章 Windows 系统核心架构与基础概念
windows·架构
怣疯knight11 小时前
Docker Desktop 4.55.0版本安装成功教程
windows·docker
liulilittle12 小时前
VEthernet 框架实现 tun2socks 的技术原理
网络·windows·c#·信息与通信·通信
独钓寒江雨12 小时前
win11在安全模式下删除360tray.exe
windows·电脑