chaojiying

package module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2024 License: MIT Imports: 10 Imported by: 1

README

chaojiying

验证码破解平台超级鹰 Golang 版 SDK

特性

支持普通的单账号破解

调用 Processing 方法,传入账号密码和验证码图片返回识别结构结构体

支持加载多个账号破解

初始化客户端时设置可用账号列表,调用 Cr4ck 方法传入图片直接返回结果。

Cr4ck 随机选择出一个可用的账号进行调用,不可用账号将被跳过。

支持账号题分查询

调用 GetScore 方法,传入账号信息查询可用题分

安装

go get -u github.com/axiaoxin-com/chaojiying

在线文档

https://godoc.org/github.com/axiaoxin-com/chaojiying

用法示例

单账号示例

example/one_account_crack.go

// 使用单账号的方式示例

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/axiaoxin-com/chaojiying"
)

func main() {
	// 加载验证码图片
	pic, err := os.Open("./pin.png")
	if err != nil {
		log.Println(err)
	}
	defer pic.Close()

	// 创建客户端
	cli, err := chaojiying.New(nil)
	if err != nil {
		log.Println(err)
	}

	// 从环境变量获取账号信息
	user := os.Getenv("user")
	pass := os.Getenv("pass")

	// 指定账号破解验证码
	resp, err := cli.Processing(user, pass, pic)
	if err != nil {
		log.Println(err)
	}
	fmt.Println("破解结果:", resp.PicStr)

}
多账号示例

example/one_account_crack.go

// 使用随机选择账号的方式示例
// 从json文件中加载所有可用账号
// json格式: [{"user":"xx", "pass":"yy"}]
// 破解验证码时随机选择其中一个可用账号进行调用

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/axiaoxin-com/chaojiying"
)

func main() {
	// 加载账号json信息
	jsonFilename := "../../personal-data/chaojiying_accounts.json"
	accounts, err := chaojiying.LoadAccountsFromJSONFile(jsonFilename)
	if err != nil {
		log.Fatal(err)
	}

	// 加载验证码图片
	pic, err := os.Open("./pin.png")
	if err != nil {
		log.Fatal(err)
	}
	defer pic.Close()

	// 创建多账号客户端
	cli, err := chaojiying.New(accounts)
	if err != nil {
		log.Fatal(err)
	}

	// 随机账号破解
	pinCode, err := cli.Cr4ck(pic)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("破解结果:", pinCode)

}

Documentation

Overview

Package chaojiying 超级鹰封装

Example (OneAccount)

使用单账号的方式示例

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/axiaoxin-com/chaojiying"
)

func main() {
	// 加载验证码图片
	pic, err := os.Open("./example/pin.png")
	if err != nil {
		log.Println(err)
	}
	defer pic.Close()

	// 创建客户端
	cli, err := chaojiying.New(nil)
	if err != nil {
		log.Println(err)
	}

	// 从环境变量获取账号信息
	user := os.Getenv("user")
	pass := os.Getenv("pass")

	// 指定账号破解验证码
	resp, err := cli.Processing(user, pass, pic)
	if err != nil {
		log.Println(err)
	}
	fmt.Println("破解结果:", resp.PicStr)

}
Output:
破解结果: myeee
Example (RandAccount)

使用随机选择账号的方式示例

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/axiaoxin-com/chaojiying"
)

func main() {
	// 从json文件中加载所有可用账号
	// json格式: [{"user":"xx", "pass":"yy"}]
	// 破解验证码时随机选择其中一个可用账号进行调用

	// 加载账号json信息
	jsonFilename := "../../axiaoxin/personal-data/chaojiying_accounts.json"
	accounts, err := chaojiying.LoadAccountsFromJSONFile(jsonFilename)
	if err != nil {
		log.Fatal(err)
	}

	// 加载验证码图片
	pic, err := os.Open("./example/pin.png")
	if err != nil {
		log.Fatal(err)
	}
	defer pic.Close()

	// 创建多账号客户端
	cli, err := chaojiying.New(accounts)
	if err != nil {
		log.Fatal(err)
	}

	// 随机账号破解
	pinCode, err := cli.Cr4ck(pic)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("破解结果:", pinCode)

}
Output:
破解结果: myeee

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	User  string `json:"user"`
	Pass  string `json:"pass"`
	Score int    `json:"score"`
}

Account 超级鹰账号

func LoadAccountsFromJSONFile

func LoadAccountsFromJSONFile(filePath string) ([]Account, error)

LoadAccountsFromJSONFile 从指定位置的json文件中加载账号

json格式: [{"user": "", "pass": ""}, ...]

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client 超级鹰客户端结构体对象

func New

func New(accounts []Account) (*Client, error)

New 创建超级鹰Client对象 传入所有可用账号备用

func (*Client) Accounts added in v1.0.2

func (c *Client) Accounts() []Account

func (*Client) Cr4ck

func (c *Client) Cr4ck(pic io.Reader) (string, error)

Cr4ck 破解图片验证码 封装Proccessing接口,判断是否成功,成功返回破解出的验证码

func (*Client) GetScore

func (c *Client) GetScore(user, pass string) (*GetScoreResp, error)

GetScore 超级鹰GetScore接口

func (*Client) PickOneAccount

func (c *Client) PickOneAccount() (Account, error)

PickOneAccount 随机选择一个可用账号 遍历随机账号列表直到选出一个可用的账号

func (*Client) Processing

func (c *Client) Processing(user, pass string, pic io.Reader) (*ProcessingResp, error)

Processing 超级鹰验证码识别接口

type GetScoreResp

type GetScoreResp struct {
	ErrNo     int    `json:"err_no"`
	ErrStr    string `json:"err_str"`
	Tifen     int    `json:"tifen"`
	TifenLock int    `json:"tifen_lock"`
}

GetScoreResp 超级鹰GetScore接口返回结构

type ProcessingResp

type ProcessingResp struct {
	ErrNo  int    `json:"err_no"`
	ErrStr string `json:"err_str"`
	PicID  string `json:"pic_id"`
	PicStr string `json:"pic_str"`
	Md5    string `json:"md5"`
}

ProcessingResp 超级鹰Processing接口返回结构

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL