stdNullPtr / Phishy

Universal FIshing bot, using clever WinAPI techniques to avoid detection.
BSD 3-Clause "New" or "Revised" License
9 stars 4 forks source link
bot winapi world-of-warcraft

Phishy

:warning:USE AT YOUR OWN RISK:warning:

A universal, different, undetectable at time of writing, out-of-process World of Warcraft fishing bot. This project is a better looking, configurable, continuation of my C++ PoC: https://github.com/stdNullPtr/wow-fishbot
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. TODOs
  6. License

About The Project

app-screenshot

This unique fishbot works by cleverly utilizing WinAPI functions to bypass detection and stay out-of-process.
The entire main loop follows an implementation of the State Machine architecture.
Bot structure:

With this set up we manage to stay out of the process, and we are able to use the bot in any game that follows the same fishing logic.

(back to top)

Built With

(back to top)

Getting Started

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Compiling

  1. Open the project in Visual Studio (using the .sln file), you should see something similar: installer-image
  2. Build (ctrl + shift + B) to verify you can build properly
  3. You can find the binaries in '(project root)\Phishy\bin\Debug\net7.0-windows' The executable is named "guess.exe" just for the sake of the name being somewhat random.

(back to top)

Usage

  1. Config
    The process requires a configuration.yaml file in order to start. If one isn't present in the same directory as the .exe, a sample will be created and opened for editing. The process will exit but you can now edit the text file that opened, adding your configuration for the fishbot depending on the WoW version and keybinds. Once started, the program will mute your windows sound and set it to max volume, in preparation for listening for the bobber.

  2. An example fishing setup with the default settings in the config file:

    • place the fishing cast on keybind '1'
    • place the lure on keybind '2'
    • set game window name to 'game-window-name: World of Warcraft' if you are on WotLK
    • position yourself in a fishing spot
    • max zoom in
    • set game sound volume to ~80%, disable ambient sounds
    • cast manually fishing a few times to make sure that the bobber lands somewhere around the middle of the screen
    • make sure you are alone and in a quiet place, the bot will listen for a splash
    • start the fishbot, focus wow window, observe
    • let go of the mouse and keyboard
    • stop by pressind DEL

(back to top)

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make the bot better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

TODOs

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)