sensepost/capchan

GitHub: sensepost/capchan

基于TensorFlow的验证码图像分类识别工具,通过训练神经网络模型解决字符型验证码。

Stars: 10 | Forks: 0

# capchan ### 解决 CAPTCHA 的工具 ![Alt text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/616576a623122421.png) * 基于提供的灰度图像创建并训练模型 * 利用灰度模型对其他图像进行分析,以确定图像内容 ### 安装: ``` python3 -m venv capchan source capchan/bin/activate pip install --upgrade pip pip install -r requirements.txt ``` 根据 Python 版本、机器架构和硬件,从 https://www.tensorflow.org/install/pip#package_location 安装特定的 TensorFlow 包 ``` pip install --upgrade https://storage.googleapis.com/tensorflow/versions/*.whl ``` Docker 选项: https://www.tensorflow.org/install/docker ![Alt text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6d03da5a90122422.png) ![Alt text](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/cd30ad8b2e122423.png) ## CAPTCHA 森林与 Image_Classification ### Captcha_One 用于完成[挑战](https://ctftime.org/task/7507)的主脚本及其他资源的项目结构: ``` . ├── szizzleIMON.py │ ├── ImageSplit.py │ ├── ImageDetermine.py │ ├── Images │ │...outputs... │ ├── output.txt │ ├── image.png │ ├── split_image_.png ├── ImageGet.py ├── hex2png.py └── bashywashy.sh ``` 记得修改 argparse 和其他脚本的 `dir paths`(目录路径)。主脚本: ``` python3 szizzleIMON.py -s domain.local -v --debug ``` 测试脚本: ``` python3 ImageDetermine.py --split_images_folder ~/Captcha_One/ --data_folder Images/ python3 ImageGet.py -s domain.local -v --debug python3 ImageSplit.py --image_path image.png python3 hex2png.py ./bashywashy.sh ``` ### Captcha_Two 用于完成[挑战](https://ctftime.org/task/7508)的主脚本及其他资源的项目结构: ``` . ├── szizzleIMONGHARD.py │ ├── ImageSplit.py │ ├── nyadetermine.py │ ├── nyasomething.py │ ├── nyamove.py │ ├── nyamodel.py │ │...outputs... │ ├── Data │ ├── Val │ ├── model.h5 │ ├── output.txt │ ├── image.png │ ├── split_image_.png ├── ExtraData ├── ImageDetermine.py ├── ImageSplit.py ├── model_graph.png ├── network_graph ├── nyaHowAc.py └── bashywasher.sh ``` 记得修改 argparse 的 `dir paths`(目录路径),并手动更改所需的图像输出文件以获取测试/验证数据。主脚本: ``` ./bashywasher.sh "python3 nyasomething.py -s domain.local -v --debug" 15 python3 nyamove.py python3 nyamodel.py python3 szizzleIMONGRHARD.py -s domain.local -v --debug ``` 你需要为 Captcha_One 添加一个 Images/ 文件夹,该文件夹内需要包含字母表中每个字母对应的文件夹,单个图像可以放置在其中: `Images/A/A/png` 对于 Captcha_Two,你需要一个名为 Raw/ 的文件夹来放置收集的图像。另外还需要两个文件夹 Data/ 和 Val/,结构类似于 Captcha_One 的 Images/。模型也需要基于所有这些数据构建。 `Data/A/*.png`,`Val/A/*.png`,`Raw/*.png` 以及 model.h5 如果你总共有超过 10,000 张图像,那么你的做法是正确的。`image.png`、`output.txt` 和 `split_images_.png` 将由脚本生成。
标签:Apex, CAPTCHA 破解, CTF 工具, Python, TensorFlow, 光学字符识别, 图像分类, 数字取证, 无后门, 机器学习, 模型训练, 深度学习, 灰度图像处理, 自动化攻击, 自动化脚本, 计算机视觉, 请求拦截, 逆向工具, 验证码识别