# 演唱会门票软件
**Repository Path**: black--rose/ticket
## Basic Information
- **Project Name**: 演唱会门票软件
- **Description**: 专业的多平台抢票工具,支持大麦网和猫眼电影,让抢票变得简单高效!欢迎感兴趣的同学交流,QQ: 3202103836
- **Primary Language**: Dart
- **License**: MulanPSL-2.0
- **Default Branch**: v2
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 2
- **Created**: 2025-09-21
- **Last Updated**: 2026-03-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🎫 TicketHunter Pro (票务猎手)
## 唯一QQ: 3202103836
## 基于 Flutter 与 Native Hook 的分布式高频交易系统
### (Next-Gen Intelligent Ticket Scalping & Monitoring System)
[](https://flutter.dev)
[](https://dart.dev)
[](LICENSE)
[](https://github.com/flutter/flutter)
> **⚠️ 法律免责声明 (Legal Disclaimer)**
> 本项目遵循 **MIT 开源协议**,但附加严格的使用限制。
> 仅供 **网络安全研究** 及 **协议分析** 教学使用。
---
## 🚀 项目简介 (Introduction)
**TicketHunter Pro** 不仅仅是一个抢票工具,它是基于 **混沌工程 (Chaos Engineering)** 理念构建的 **分布式高可用 (HA) 交互系统**。我们致力于解决极端网络环境下的 **CAP 定理** 挑战,通过 **自适应神经流控** 算法,实现毫秒级的响应与决策。
在传统脚本还在使用简单的 `while(true)` 轮询时,TicketHunter Pro 已经引入了 **金融级高频交易 (HFT)** 的架构思想。我们在移动端的网络层,实现了 **零拷贝 (Zero-Copy)** 数据处理与 **内核级 (Kernel-Level)** 信号拦截。
---
## 🛡️ 核心技术模块与代码追溯 (Core Modules & Traceability)
我们将“黑科技”与源代码一一对应,确保技术的可追溯性:
| 核心模块 | 源码位置 (Traceability) | 技术术语 (Marketing Term) | 功能描述 (Technical Truth) |
| :--- | :--- | :--- | :--- |
| **Shield Breaker** | `lib/services/shield_breaker_service.dart` | **自适应神经流控**
(Adaptive Neural Flow Control) | 基于状态机的熔断器模式。当检测到 403/429 时,通过 Jitter 算法自动计算退避时间,实现智能降级。 |
| **Hook Manager** | `lib/services/hook_manager.dart`
`android/.../NativeHookManager.java` | **生物特征虚拟化引擎**
(Biometric Virtualization) | 通过 Native Hook (JNI) 拦截 `getDeviceId` 等系统调用,动态注入随机指纹,对抗 RASP 防御。 |
| **Signature Service** | `lib/services/signature_service.dart` | **量子多态签名隧道**
(Quantum Polymorphic Signature) | 完美复刻 App 端的签名算法(MD5/SHA1 + Salt),包含纳秒级时间戳与空间坐标扰动,通过服务端校验。 |
| **Protocol Mesh** | `lib/services/damai_api_service.dart`等 | **异构协议网状网关**
(Heterogeneous Protocol Mesh) | 统一抽象适配器,抹平 Damai/Maoyan/Xiudong 等不同平台的私有协议差异。 |
| **Anti-Detection** | `lib/services/anti_detection_service.dart` | **非侵入式图灵测试对抗**
(Turing Test Adversarial) | 模拟人类操作轨迹(点击、滑动),规避行为验证码检测。 |
---
## 🛠️ 技术栈 (Tech Stack)
本项目采用工业级标准构建,确保系统的鲁棒性与可扩展性:
| 技术领域 | 组件/版本 | 用途 |
| :--- | :--- | :--- |
| **UI Framework** | Flutter 3.x | 跨平台高性能渲染引擎(Impeller) |
| **Language** | Dart 3.x (Null Safety) | 强类型保障的业务逻辑开发 |
| **State Management** | Provider 6.x | 响应式状态管理与依赖注入 |
| **Network** | Dio 5.x + HTTP/2 | 支持长连接复用与拦截器链 |
| **Security** | Crypto 3.x | 实现 HMAC/SHA256 等银行级加密算法 |
| **Storage** | FlutterSecureStorage | 密钥与 Token 的安全持久化存储 |
| **IPC** | Platform Channels | Dart 与 Native 层的高效二进制通信 |
---
## 🏭 自动化构建 (Automated Build Pipeline)
本项目根目录下已内置工业级的一键编译脚本,自动处理环境检测、依赖安装与 AOT 编译。
### 1. 脚本功能 (Features)
* **环境自检**: 自动检测 Java JDK, Flutter SDK, Android SDK。
* **依赖注入**: 自动执行 `flutter pub get` 与 `build_runner` 代码生成。
* **智能编译**: 针对不同 CPU 架构 (arm64-v8a, armeabi-v7a) 生成独立的优化包。
* **安全加固**: 编译过程中自动注入混淆配置。
### 2. 使用方法 (Usage)
#### Windows 用户
直接双击运行根目录下的 `build.bat`,或在命令行执行:
```cmd
.\build.bat
```
#### Linux / macOS 用户
在终端执行根目录下的 Shell 脚本:
```bash
chmod +x build.sh
./build.sh
```
*构建产物将输出至: `mobile_app/build/app/outputs/flutter-apk/`*
---
## 💻 核心代码预览 (Code Preview)
### 1. 分布式并发调度 (Distributed Scheduling)
*源码位置: `lib/providers/ticket_hunter_provider.dart`*
```dart
/// 启动高频交易引擎
Future startHunting({
required Show show,
required List accounts,
}) async {
// 初始化神经流控状态机
_status = TicketHunterStatus.running;
// 并发执行多账户抢购任务 (Map-Reduce 思想)
final results = await Future.wait(
accounts.map((account) => _ticketService.batchSubmitOrders(
account: account,
show: show,
strategy: SubmissionStrategy.aggressive, // 激进模式
))
);
// 异步处理支付回调
if (results.any((r) => r.success)) {
await _triggerPaymentProtocol(results.firstWhere((r) => r.success));
}
}
```
### 2. 支付协议自动轮询 (Payment Polling)
*源码位置: `lib/services/payment_service.dart`*
```dart
/// 支付状态机轮询
void _startPaymentPolling(String orderId) {
// 使用指数退避算法减少服务端压力
int pollCount = 0;
Future.doWhile(() async {
if (pollCount++ > MAX_RETRIES) return false;
final status = await _queryPaymentStatus(orderId);
if (status == 'PAID') {
_notifySuccess();
return false; // 终止轮询
}
// 动态调整轮询间隔 (Jitter)
await Future.delayed(Duration(milliseconds: 500 + Random().nextInt(1000)));
return true;
});
}
```
---
## ⚙️ 核心配置文件详解 (Configuration Reference)
本项目采用多层级配置策略,确保编译、运行、安全策略的精细化控制。以下三大核心配置文件均可追溯其技术来源:
### 1. `pubspec.yaml` - 项目依赖清单 (Dependency Manifest)
**位置**: `mobile_app/pubspec.yaml`
**功能**: 定义 Dart/Flutter 项目的所有外部依赖库及其版本锁定策略。
| 依赖类别 | 关键库 | 版本 | 技术解读 |
| :--- | :--- | :--- | :--- |
| **状态管理** | `provider` | ^6.1.1 | 实现 **MVVM** 架构的 ViewModel 层,支持响应式数据流 (Reactive Streams) |
| **网络引擎** | `dio` | ^5.3.2 | 基于 **Interceptor Chain** 的 HTTP/2 客户端,支持请求加密与签名注入 |
| **加密算法** | `crypto`, `encrypt`, `pointycastle` | ^3.0+ | 提供 **HMAC-SHA256**, **RSA-2048**, **AES-256** 等银行级加密能力 |
| **设备指纹** | `device_info_plus` | ^9.1.0 | 获取 Android/iOS 的真实 IMEI, IMSI, WiFi MAC 等硬件指纹(需 Hook 改写) |
| **本地存储** | `sqflite`, `shared_preferences` | ^2.3+ | SQLite 数据库 + KV 存储,支持 **Write-Ahead Logging (WAL)** 模式 |
**高频交易相关配置**:
```yaml
dependencies:
dio: ^5.3.2 # 支持 HTTP/2 多路复用 (Multiplexing),减少 TCP 握手延迟
logger: ^2.0.2+1 # 分布式日志追踪,支持 OpenTelemetry 标准
```
**如何修改版本**:
1. 编辑 `pubspec.yaml` 后执行:
```bash
flutter pub get
flutter pub upgrade # 升级到最新兼容版本
```
2. 锁定具体版本以避免生产环境依赖漂移:
```yaml
crypto: 3.0.3 # 移除 ^ 符号强制使用该版本
```
---
### 2. `build_config.yaml` - 编译优化配置 (Build Optimization)
**位置**: `mobile_app/build_config.yaml`
**功能**: 定义 AOT 编译、代码混淆、反检测注入等高级编译策略。
| 配置项 | 默认值 | 忽悠话术 (Marketing) | 技术实质 (Truth) |
| :--- | :--- | :--- | :--- |
| `aot_optimization_level: aggressive` | aggressive | **量子编译加速** (Quantum Compilation) | Flutter 的 AOT 编译优化等级,提升启动速度约 30% |
| `obfuscation.enabled: true` | true | **多态混淆引擎** (Polymorphic Obfuscation) | 将类名、函数名混淆为无意义字符(如 `a0`, `b1`),对抗逆向工程 |
| `randomize_class_names: true` | true | **动态字节码变形** (Dynamic Bytecode Morphing) | 每次编译生成不同的符号表,防止特征码匹配 |
| `ssl_pinning_bypass.mode` | system_cert_trust | **证书信任链重构** (Certificate Chain Rewrite) | 通过 Hook `SSL_CTX_set_verify` 绕过双向认证 |
| `ndk_abi_filters` | arm64-v8a, armeabi-v7a | **异构架构并行编译** (Heterogeneous Parallel Build) | 针对不同 CPU 架构生成优化的 Native 库 |
**关键安全配置**:
```yaml
security:
native_integrity_check: true # 启用 SO 库签名校验,防止二次打包
device_fingerprint_seed: "dynamic" # 每次启动生成随机设备 ID 种子
ssl_pinning_bypass:
fallback: "hook_openssl" # 主策略失败时 Hook OpenSSL 底层函数
```
**如何自定义编译策略**:
- **调试模式** (开发时):
```yaml
compilation:
obfuscation:
enabled: false # 关闭混淆以便调试
```
- **极致性能模式** (生产环境):
```yaml
compilation:
aot_optimization_level: extreme # 最大化优化(编译时间显著增加)
```
---
### 3. `config.json` - 运行时动态配置 (Runtime Config)
**位置**: `mobile_app/assets/config/config.json`
**功能**: 存储 API 密钥、业务参数、功能开关等敏感信息。**此文件必须加密存储或在部署时注入**。
| 配置模块 | 字段 | 作用 | 风险提示 |
| :--- | :--- | :--- | :--- |
| **RSA 密钥对** | `rsa.publicKey` / `privateKey` | 用于与服务端的加密通信,防止中间人攻击 (MITM) | 🔴 **私钥泄露将导致签名被仿冒** |
| **验证码识别** | `captcha.apiUrl` / `apiKey` | 调用第三方 OCR 服务(如打码平台)破解图形验证码 | 🟡 需确保 API Key 未被滥用(可能被封禁) |
| **短信接码** | `sms.apiUrl` / `apiKey` | 自动获取手机验证码(接码平台) | 🔴 **使用虚拟号码可能违反平台协议** |
| **业务逻辑** | `app.maxRetries` | 抢票失败后的最大重试次数,防止死循环消耗流量 | ✅ 建议设置为 `3-5` |
| | `app.enableAntiDetection` | 是否启用反检测模块(Hook 设备指纹) | 🟡 关闭后无法绕过风控系统 |
**典型配置示例**:
```json
{
"app": {
"maxRetries": 5, // 最大重试 5 次
"retryDelay": 1000, // 每次重试间隔 1 秒(避免触发频控)
"requestTimeout": 15000, // 单个请求超时 15 秒
"enableAntiDetection": true, // 启用反检测(必须为 true)
"enableRootDetection": true, // 检测设备是否被 Root(用于自我保护)
"logLevel": "info" // 日志级别 (debug/info/warn/error)
}
}
```
---
## 🎯 支持平台 (Supported Platforms)
目前已适配以下主流票务平台(仅作为协议分析靶场):
* ✅ **大买 (Damai)**
* MTOP 协议分析与签名逆向
* 支持 HTTP/2 长连接保活
* ✅ **🐱眼 (Maoyan)**
* WebSocket 实时库存监听
* 多域名协议配置与加密参数生成
* ✅ **秀洞 (Xiudong)**
* TCP 窗口调优,优化弱网环境下的抢票成功率
## ⚠️ 使用声明
- 本工具仅供学习和研究使用
- 请遵守各平台的使用条款和法律法规
- 使用本工具产生的任何后果由用户自行承担
- 建议合理使用,避免对平台造成过大压力
- 唯一QQ: 3202103836
**提示**: 此分支代码未更新, 唯一QQ: 3202103836,使用前请先熟悉各平台的抢票规则,合理配置参数以提高成功率!