Golang UAC Bypasser 项目教程
1. 项目目录结构及介绍
golang-uacbypasser/
├── LICENSE
├── README.md
├── go.mod
├── go.sum
├── main.go
├── pkg/
│ └── once/
│ └── once.go
└── github/
└── workflows/
└── image
目录结构说明
- LICENSE: 项目的许可证文件,本项目使用 MIT 许可证。
- README.md: 项目的说明文档,包含项目的概述、使用方法等信息。
- go.mod: Go 模块文件,定义了项目的依赖关系。
- go.sum: Go 模块的校验和文件,确保依赖的完整性和安全性。
- main.go: 项目的启动文件,包含了主要的执行逻辑。
- pkg/: 包含项目的包文件,
once
包实现了 UAC 绕过技术。 - github/workflows/: 包含 GitHub Actions 的工作流配置文件。
2. 项目启动文件介绍
main.go
main.go
是项目的启动文件,负责初始化和执行 UAC 绕过技术。以下是 main.go
的主要内容:
package main
import (
"time"
"fmt"
"github.com/0x9ef/golang-uacbypasser/pkg/once"
)
func main() {
path := os.Args[1]
tstart := time.Now()
err := once.ExecFodhelper(path)
if err != nil {
panic(err)
}
tend := time.Now()
fmt.Printf("Time tooked: %2f\n", tend.Sub(tstart).Seconds())
}
启动文件说明
- 导入包: 导入了
time
、fmt
和once
包。 - main 函数: 主函数中,首先获取命令行参数
path
,然后记录开始时间tstart
。接着调用once.ExecFodhelper(path)
执行 UAC 绕过技术。如果执行过程中出现错误,则抛出异常。最后记录结束时间tend
并输出执行时间。
3. 项目配置文件介绍
go.mod
go.mod
文件定义了项目的依赖关系,以下是 go.mod
的内容:
module github.com/0x9ef/golang-uacbypasser
go 1.16
require (
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1
)
配置文件说明
- module: 定义了模块的名称,通常为项目的 GitHub 仓库地址。
- go: 指定了 Go 的版本,本项目使用 Go 1.16。
- require: 列出了项目依赖的模块及其版本。本项目依赖
golang.org/x/sys
模块。
go.sum
go.sum
文件包含了依赖模块的校验和,确保依赖的完整性和安全性。以下是 go.sum
的部分内容:
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+QVcZsE8EevQJvuyt07GquQ2g2AI+Jx09keLlfak=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
配置文件说明
- 校验和:
go.sum
文件记录了每个依赖模块的校验和,确保在不同环境中依赖的一致性。
通过以上内容,您可以了解 golang-uacbypasser
项目的目录结构、启动文件和配置文件的基本信息。