# MySQLCracker **Repository Path**: byhandsome/MySQLCracker ## Basic Information - **Project Name**: MySQLCracker - **Description**: 这是一个基于C#开发的高效MySQL暴破工具,使用弃用libmysql.dll,改用MySql.Data.MySqlClient库进行底层连接,支持多线程并发操作和智能优化。工具可以通过命令行参数指定IP地址、用户名和密码字典,实现对多个MySQL服务器的密码尝试。 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-13 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MySQL暴力破解工具 这是一个基于C#开发的高效MySQL暴力破解工具,使用MySql.Data.MySqlClient库进行连接,支持多线程并发操作和智能优化。工具可以通过命令行参数指定IP地址、用户名和密码字典,实现对多个MySQL服务器的密码尝试。 ## 功能特性 - 使用MySql.Data.MySqlClient库进行连接尝试,自动处理底层DLL加载和架构匹配 - 智能IP ping测试过滤功能,自动跳过不可达的目标,提高效率 - IP ping结果缓存机制,避免重复测试同一IP,大幅提升性能 - 高性能多线程并发操作,最大支持CPU核心数10倍或200个线程 - 完整的命令行参数支持 - 详细的日志记录,包括成功、失败和ping测试记录 - 自动去重和注释行跳过功能 - 实时进度显示,包括当前速度、剩余时间和成功率 - 优雅的取消操作支持(按ESC键) - 内存使用监控,防止资源耗尽 ## 系统要求 - Windows操作系统 - .NET Framework 4.7.2或更高版本/.NET Core 3.1或更高版本 ## 使用方法 ``` MySQLCracker.exe -i ip.txt -u user.txt -p password.txt -x 200 ``` ### 命令行参数 - `-i` 指定包含IP地址的文件路径(必需) - `-u` 指定包含用户名的文件路径(必需) - `-p` 指定包含密码的文件路径(必需) - `-x` 指定并发线程数量(可选,默认200,最大为CPU核心数的10倍或200,取较小值) - `-h` 显示帮助信息 ## 文件格式 ### IP地址文件 (ips.txt) 每行一个IP地址,示例: ``` 192.168.1.1 192.168.1.100 10.0.0.5 # 这是注释行,会被跳过 ``` ### 用户名文件 (user.txt) 每行一个用户名,示例: ``` root admin mysql # 这是注释行,会被跳过 ``` ### 密码文件 (password.txt) 每行一个密码,示例: ``` 123456 admin root password # 这是注释行,会被跳过 ``` ## 输出说明 - 程序执行过程中会实时显示进度信息和IP过滤情况 - 成功连接的信息会立即显示在控制台并记录到日志文件 - 所有日志文件保存在logs目录下: - `mysql_success.txt`: 成功连接的记录 - `mysql_fail.txt`: 失败连接的记录 - `mysql_summary_时间戳.log`: 执行摘要报告 - 根目录下的`mysql_ping_test.txt`: IP ping测试结果记录 ## 注意事项 1. 请确保有足够的系统资源(内存和CPU)来支持指定的线程数 2. 此工具仅用于授权测试和教育目的,请遵守相关法律法规 3. 大量线程可能会导致目标服务器负载过高,请谨慎设置线程数 4. ping测试会消耗一定时间,但能显著提高整体效率,特别是在有大量不可达IP的情况下 5. 缓存机制会自动保存已测试IP的结果,避免重复ping操作 ## 编译说明 使用Visual Studio或dotnet命令行工具编译: ``` dotnet build MySQLCracker.csproj -c Release ``` 项目已使用MySql.Data.MySqlClient库,无需手动处理libmysql.dll的兼容性问题,编译过程会自动处理依赖关系。 ## 许可证 本工具仅供学习和授权测试使用,请勿用于非法用途。 ## 免责声明 使用本工具产生的任何后果,由使用者自行承担全部责任。开发者不承担任何直接或间接责任。