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
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:
- The 'eyes' of the bot are the cursor name change events when we hover the bobber: https://learn.microsoft.com/en-us/windows/win32/winauto/event-constants#:~:text=EVENT_OBJECT_NAMECHANGE
- The 'brain' is the main loop state machine
- The 'ears' are the Windows sounds when the bobber splashes
- The 'hands' are simple mouse-click events
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.
- C# (.NET Desktop)
This is an example of how to list things you need to use the software and how to install them.
- Make sure you have Visual Studio (preferably 2022)
- Make sure through the VS installer you select .NET desktop
- Clone the project
git clone https://github.com/stdNullPtr/Phishy
- Open the project in Visual Studio (using the .sln file), you should see something similar:
- Build (ctrl + shift + B) to verify you can build properly
- 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.
-
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. -
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
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Introduce a graphical UI
- Add better instructions (possibly video)
Distributed under the MIT License. See LICENSE.txt
for more information.