返回

如何编译 UACME 可执行文件?一个分步指南

windows

UACME 可执行文件编译指南

概述

UACME(高级用户访问控制绕过)项目提供了一种框架,用于绕过操作系统的高级用户访问控制(UAC)机制。本指南将详细介绍如何编译 UACME 项目的可执行文件,让你能够使用 UACME 的强大功能。

先决条件

在继续之前,确保你已满足以下先决条件:

  • Visual Studio (具有所需的 SDK)
  • Naka 模块 (用于加密和生成秘密 blob)
  • Akagi 模块 (UACME 的主模块)

步骤

1. 编译有效载荷单元

有效载荷单元是执行特定任务的 UACME 模块。转到 \UACME\Source\Akagi\bin 文件夹,并编译以下文件:

  • akuninit.cpp
  • akunres.cpp
  • uacme.cpp
cl /c akuninit.cpp
cl /c akunres.cpp
cl /c uacme.cpp

编译完成后,你会获得三个目标文件:akuninit.objakunres.objuacme.obj

2. 编译 Naka 模块

Naka 模块负责加密和生成秘密 blob。转到 \UACME\Source\Naka 文件夹并编译 naka.cpp 文件:

cl /c naka.cpp

这会生成目标文件 naka.obj

3. 加密有效载荷单元

使用 Naka 模块加密有效载荷单元目标文件:

naka -e akuninit.obj
naka -e akunres.obj
naka -e uacme.obj

这将在 \UACME\Source\Akagi\bin 文件夹中创建加密的目标文件。

4. 生成秘密 blob

再次使用 Naka 模块为加密的目标文件生成秘密 blob:

naka -s akuninit.obj
naka -s akunres.obj
naka -s uacme.obj

这将在 \UACME\Source\Akagi\bin 文件夹中创建秘密 blob 文件。

5. 移动已编译单元和秘密 blob

将已编译的加密目标文件和秘密 blob 移动到 \Akagi\Bin 文件夹:

move akuninit.obj Akagi\Bin
move akunres.obj Akagi\Bin
move uacme.obj Akagi\Bin
move akuninit.sb Akagi\Bin
move akunres.sb Akagi\Bin
move uacme.sb Akagi\Bin

6. 重新编译 Akagi

返回 Visual Studio 并重新编译 Akagi 项目。这将链接已编译的有效载荷单元、Naka 模块和秘密 blob 以生成最终的可执行文件。

结论

通过遵循这些步骤,你就可以成功编译 UACME 项目的可执行文件。请注意,本文仅供参考,且不构成专业建议。在尝试任何形式的 UAC 绕过技术之前,请务必了解潜在风险和法律后果。

常见问题解答

1. 我收到了编译错误,该怎么办?

  • 确保已安装 Visual Studio 并具有所需的 SDK。
  • 检查你的编译命令是否正确,并且所有先决条件都已满足。

2. 加密后的目标文件在哪里?

  • 加密后的目标文件位于 \UACME\Source\Akagi\bin 文件夹中。

3. 如何使用 UACME 可执行文件?

  • 有关 UACME 使用说明,请参阅项目文档。

4. UACME 安全吗?

  • UACME 是一种绕过 UAC 机制的技术,因此它不应被视为安全工具。在使用 UACME 之前,请了解潜在风险和法律后果。

5. 我可以在哪里获得更多帮助?

  • 有关 UACME 的更多信息和支持,请访问项目的官方网站或加入其社区论坛。