Skip to main content

High-performance, asynchronous PIN brute-force tool with a real-time progress bar

Project description

⚡ PinPulse

PinPulse is a high-performance, asynchronous PIN brute-force tool built with Python. Utilizing asyncio and aiohttp, it is designed to test the resilience of PIN-based authentication mechanisms through rapid, concurrent HTTP requests.

✨ Features

  • 🚀 Asynchronous Architecture: Built on aiohttp for non-blocking network I/O, allowing hundreds of requests per second.
  • 📊 Real-time Progress: Integrated with tqdm to provide a live progress bar, estimated time remaining, and request speed.
  • 🛠️ Fully Parameterized: Easily adjust the target URL, concurrency limits, and PIN digit length directly from the terminal.
  • 🛡️ Smart Termination: Automatically halts all active tasks as soon as the correct PIN is identified to save resources.

📦 Installation

Clone the repository to your local machine:

git clone https://github.com/fr0stb1rd/PinPulse.git
cd PinPulse

Install the required dependencies:

pip install -r requirements.txt

(Note: Requires Python 3.7+)

🚀 Usage

The most basic usage requires only a target URL:

python pinpulse.py -u "http://target-site.com/verify"

Arguments

Argument Short Description Default
--url -u The target endpoint URL (Required)
--concurrent -c Number of simultaneous requests 50
--digits -d Number of PIN digits to test 4

Examples

Testing for a 6-digit PIN:

python pinpulse.py -u "https://api.example.com/v1/auth" -d 6

Aggressive testing with 100 concurrent workers:

python pinpulse.py -u "https://api.example.com/v1/auth" -c 100

🛠️ How It Works

PinPulse uses an asynchronous Semaphore to manage request flow. This ensures that the tool respects your system's limits while maintaining maximum throughput. The script evaluates the HTTP response body for specific failure strings (e.g., "Incorrect pin code") to determine success or failure.

⚠️ Disclaimer

This tool is developed for educational purposes and authorized security testing (Pentesting) only. Running this against systems without explicit permission is illegal. The developer assumes no liability and is not responsible for any misuse or damage caused by this program.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pinpulse-1.0.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pinpulse-1.0.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file pinpulse-1.0.0.tar.gz.

File metadata

  • Download URL: pinpulse-1.0.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pinpulse-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e706d62ca4dc1d48bf04a13511e4119ac9292b27b4a4bc2c299b97b0bd4ea344
MD5 bc2a147676658b4d78dbc52590e98005
BLAKE2b-256 f4c97ca3f4358ca8ca077e20cab55cffc19d588b2fbc95e5d99bb4ea9ad03e21

See more details on using hashes here.

Provenance

The following attestation bundles were made for pinpulse-1.0.0.tar.gz:

Publisher: publish.yml on fr0stb1rd/pinpulse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pinpulse-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pinpulse-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pinpulse-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5ca90ea69939a3628b9cf14875eda2f795b84c95e92e98deacf7cd2a39220cf
MD5 dd71df9fd8776f0ae31f1eabf154295e
BLAKE2b-256 4b195c8768c244a881944ec7894b1c05f0107fa83496918be009683098748017

See more details on using hashes here.

Provenance

The following attestation bundles were made for pinpulse-1.0.0-py3-none-any.whl:

Publisher: publish.yml on fr0stb1rd/pinpulse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page