nficano/xpctl
GitHub: nficano/xpctl
用于通过 TCP agent 或 SSH 远程管理 Windows XP 目标的 Python 命令行工具与库。
Stars: 0 | Forks: 0
# xpctl
`xpctl` 是一个 Python CLI 和库,用于通过直接 TCP agent 或 SSH 管理 Windows XP 目标。它将 agent、传输客户端以及更高级别的逆向工程辅助工具打包在一个可安装的项目中。
## 包含内容
- 用于执行命令、传输文件和管理 agent 的 Python API
- 基于 Click 的 CLI,用于日常操作
- 打包的兼容 Python 3.4 的 XP agent
- 用于调试器、COM、内存和 GUI 工作流的逆向工程辅助工具
- 用于 CI、文档部署和向 PyPI 进行标记发布的 GitHub Actions
- 用于贡献者入职的 devcontainer
## 快速开始
```
python3 -m venv .venv
. .venv/bin/activate
pip install -e ".[dev,docs]"
xpctl --help
```
常用命令:
```
xpctl ping
xpctl ps
xpctl upload ./local.bin "C:\\xpctl\\tmp\\local.bin"
xpctl agent status
```
## 开发
```
make install
make lint
make test
make build
make docs
```
文档使用 MkDocs Material 构建,旨在通过 GitHub Pages 发布。
## 发布自动化
版本发布基于 annotated tags 并通过 GitHub Actions 进行。发布工作流使用 [`debaser`](https://github.com/nficano/debaser) 从 Git SHA 生成确定性的人类可读发布名称。
本地发布流程:
```
brew install debaser
make release BUMP=patch
```
该命令:
- 更新 `src/xpctl/__about__.py` 中的版本号
- 创建一个提交和 annotated `v` 标签
- 当配置了 remote 时推送分支和标签
标签推送触发发布工作流,该工作流:
- 验证版本/标签是否匹配
- 构建 wheel 和 source 分发包
- 将包发布到 PyPI
- 创建带有 `debaser` 生成标题的 GitHub Release
## 文档
文档源文件位于 [`docs/`](docs/),并通过 `.github/workflows/docs.yml` 发布到 GitHub Pages。
## 项目布局
```
src/xpctl/ Public package
docs/ GitHub Pages documentation
scripts/ Development and workflow helpers
tests/ Test suite
.devcontainer/ Reproducible contributor environment
```
标签:Awesome, Click, CLI库, COM接口, DNS解析, GUI自动化, PE 加载器, PyPI, Python, Python 3.4, SOC Prime, SSH, TCP代理, Windows XP, 云资产清单, 内存分配, 内存操作, 开发工具, 开源项目, 文件传输, 无后门, 系统管理, 网络信息收集, 自动化控制, 远程管理, 逆向工具, 逆向工程, 遗留系统