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

ops/2024/10/21 10:10:23/

大家好,今天给大家分享一款专业的 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

http://www.ppmy.cn/ops/56228.html

相关文章

如何在word中敲出可以点击打勾和取消打勾的方框呢?

文章目录 要解决的问题网上出现的几种不可行的方案发现解决措施 要解决的问题 在word中敲出 点击就可以打对勾和取消对钩的方框 网上出现的几种不可行的方案 插入-> 符号&#xff0c;此方法打出的方框是fixed的&#xff0c;不是我想要的可以自己自主打勾和不打勾的方式。 …

ELK的储存、分析功能介绍!

ELK是由Elasticsearch、Logstash和Kibana三个开源软件组成的日志管理解决方案&#xff0c;它们在日志数据的储存和分析方面发挥着重要作用。 储存功能&#xff1a; Elasticsearch&#xff1a;Elasticsearch是一个基于Lucene的搜索服务器&#xff0c;它提供了一个分布式多用户能…

探索金融数据API:现代投资的关键工具

在当今快节奏的金融市场中&#xff0c;实时准确的数据对于投资者而言至关重要。金融数据API&#xff08;Application Programming Interface&#xff09;成为了投资者获取和管理数据的核心工具。本文将探讨金融数据API的基本概念、用途及其对投资策略的影响。 什么是金融数据A…

视频技术助力智慧城市一网统管:视频资源整合与智能化管理

随着信息技术的飞速发展&#xff0c;智慧城市已成为现代城市发展的重要方向。在智慧城市建设中&#xff0c;一网统管作为城市管理的重要策略&#xff0c;通过整合各类信息资源&#xff0c;实现资源的优化配置和问题的快速响应。其中&#xff0c;视频技术作为一网统管场景中的关…

【问题记录】Nodeclub运行make install报错npm ERR! code ELIFECYCLE

问题展示 按照官网给出的教程进行到make install这一步卡住了&#xff0c;显示了如下报错。 解决方法 将node.js版本变更为能够识别代码的版本&#xff0c;我将版本修改成了16.14.0以后成功运行。 nvm install 16.14.0

Unity 常用取整方法

向下取整&#xff1a;Mathf.FloorToInt&#xff08;&#xff09; 向上取整&#xff1a;Math.Ceiling 截断取整&#xff1a;(int) 四舍五入&#xff1a;Mathf.RoundToInt e.NewValues.value.ToString(“F0”) 百分比&#xff1a; int i 400; int j 200; string p ((double)i…

从Docker 网络看IaC

【引子】近来&#xff0c;老码农又一次有机会实施IaC 了&#xff0c; 但是环境有了新的变化&#xff0c;涵盖了云环境、虚拟机、K8S 以及Docker&#xff0c;而网络自动化则是IaC中的重要组成&#xff0c;温故知新&#xff0c;面向Docker 的网络是怎样的呢&#xff1f; Docker …

XML标记语言简介

XML标记语言简介 XML&#xff08;eXtensible Markup Language&#xff0c;可扩展标记语言&#xff09;是一种标记语言&#xff0c;设计用于存储和传输数据。它通过标签结构来描述数据&#xff0c;并且标签是自定义的&#xff0c;这使得 XML 非常灵活。以下是对 XML 及其用途、好…