Code Monkey home page Code Monkey logo

wabf's Introduction

wabf

This project is no longer maintained. This project was an implementation example of Kyros which also is no longer maintained. Therefore, I think this project no longer serves a purpose.


WhatsApp phone number bruteforcer. This tool is great in case you have an already existing WhatsApp phone number with a few missing digits. Wabf works by (ab)using WhatsApp Web API. That's why, in order for wabf to work, you need to log in with your WhatsApp mobile app. This project is an early implementation of one of my project, Kyros. To run this tool, you need to have at least Python 3.6 installed.

Installation

The installation is actually pretty straightforward.

git clone https://github.com/ttycelery/wabf
cd wabf
pip install -r requirements.txt

Usage

To simply run the tool (notice the "x"):

python wabf.py 6281288x272x7

PHONE_NUMBER argument

The content of this first and only argument is the phone number which has a missing digit identified by "x". "x" means that it is possible that the missing digit is between 0 and 9 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). If you already know the missing digit candidates (e.g. you have seen those digits partially), you can wrap all those possible digits in a square bracket like this: 628122[123][456]27726. Later on, wabf will bruteforce all those possible missing digits.

TL;DR

Assume that the complete phone number is 123. - The first digit is missing: x23 - The second digit is missing but you know that it must be 1, 2, or 3: 1[123]3 - Both of the above statements are true: x[123]3

Options

The options are pretty straightforward, too. You could also look for their explanations by appending -h or --help. These are their simple explanations.

  • --disable-cache, -dc: do not save the logged in session (by default, wabf saves it to prevent unnecessary relogin) - --output-format, -f: the desired output format (wa.me is https://wa.me/<phone_number>, jid is the format used by WhatsApp, and pn is the phone number only format) - --output-file, -o: the output file, specify this if you want to save the results in a file - --help, -h: show the help message

Contribution

Any kind of contribution is highly appreciated. Do not hesitate to open an issue or pull request.

License

This project is licensed with MIT License.

Disclaimer

This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by WhatsApp or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own risk.

wabf's People

Contributors

lc-at avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

wabf's Issues

Rate limiting?

Provide the WhatsApp Web API rate limiting info in documentation.

script crashes asyncio.exceptions.CancelledError

`(most recent call last):
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/protocol.py", line 750, in transfer_data
message = await self.read_message()
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/protocol.py", line 819, in read_message
frame = await self.read_data_frame(max_size=self.max_size)
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/protocol.py", line 895, in read_data_frame
frame = await self.read_frame(max_size)
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/protocol.py", line 971, in read_frame
frame = await Frame.read(
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/framing.py", line 55, in read
data = await reader(2)
File "/usr/lib/python3.9/asyncio/streams.py", line 723, in readexactly
await self._wait_for_data('readexactly')
File "/usr/lib/python3.9/asyncio/streams.py", line 517, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/bettyj/wabf/wabf.py", line 137, in
main() # noqa
File "/usr/lib/python3.9/site-packages/click/core.py", line 1137, in call
return self.main(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.9/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/home/bettyj/wabf/wabf.py", line 133, in main
asyncio.run(amain(*args, **kwargs))
File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "/home/bettyj/wabf/wabf.py", line 50, in amain
status = await check(whatsapp, jid)
File "/home/bettyj/wabf/wabf.py", line 69, in check
await whatsapp.websocket.send_message(message)
File "/home/bettyj/.local/lib/python3.9/site-packages/kyros/websocket.py", line 199, in send_message
await self.websocket.send(message.serialize(self.get_keys()))
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/protocol.py", line 471, in send
await self.ensure_open()
File "/home/bettyj/.local/lib/python3.9/site-packages/websockets/legacy/protocol.py", line 726, in ensure_open
raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedError: code = 1006 (connection closed abnormally [internal]), no reason
`
runs for about 5 minutes then the above...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.