Shifu-Hacks Blog


Archive for the ‘Trainers’ Category


Posted by compactwater on October10 2007

Marabot is a Marapets bot created by SciExTron of Cheat Engine Forums, also the creator of NCE. If you have any troubles with the bot, or you find a bug, be sure to report it.

Marabot v1.4

You can get it here:


Posted in Flash Hacking, Trainers | 3 Comments »

Too good?

Posted by compactwater on September12 2007

Some games have the build-in or server-sided ability to detect when a player is just “too good”, and will raise a flag that will result in your ban. On the other side, it may detected the player being too good, and immediately ban them, or boot them from the current game, and set them for review by game masters/administrators. Not all games have this, and it is usually only included in online games, to keep users from using trainers, or bots, to cheat in the game. A problem with most bots, is they do the same exact thing in every case, and it can lead to an obvious hacker, which is why “Human Error” should always be an option on a bot (if the game detects the original pattern). If the bot varies its results, it will become harder for it to be detected as a bot.

The simple point behind it, is to make it as if someone where actually sitting at the computer, monitoring every move to be only as perfect as a human can get. Meaning, instead of getting 5/5 every time, get 4/5, maybe even 2/5, and sometimes 5/5, depending on actual results from a human player. Bots should always be tested for a long period of time to be sure they do not cause (large) damage to the user, and to be sure that there are no errors.

If you move your mouse to X,Y every 10 seconds and click, then move it to X,Y and click after 3 seconds for 5 hours, you’re going to get banned, it’s simple. Now, if you click at X+random,Y+random every 10+random seconds and move to X+random,Y+random and click again every 3+random seconds for maybe 2-3 hours, it’d be harder to find out if that person was cheating, but still possible.

Let’s take Gaia Fishing for example. In Gaia Fishing, there is user-interaction, which could lead to someone figuring out you’re cheating, and reporting you. The reason varies from, “I hate hackers” to “Teach me how to hack”. You can never tell why they do it, but they do, and it’s just another thing you have to look out for. Thus: An auto-chat. A small tool that will respond to common phrases said in the game, out of random parts of a sentence.
I am busy fishing, I’ll talk later.
I’m fishing, I will talk later.
I’m busy!

Bye, Later, Cya, Goodbye, Hello, etc…

That would lower suspicion, but if done wrong (in an obvious way) , it could make you stand out. Human Error can only be created through trial and error… or if you happen to know any sort of detection methods they may use, you can try to reverse it, disable it, or create a bot with Human Error.

Posted in Flash Hacking, Gaia Online, General Programming, Trainers | Leave a Comment »

Simple bot creation (Part 3/3)

Posted by compactwater on September4 2007

The long awaited Pixel Detection post! (Not really.)
Pixel detection is used mainly to tell the bot when (and where) to do something, and when to do another thing, or to do nothing. This entire blog entry is a source-code example of usage for GetPixel, GetB/G/RValue. Feel free to modify and re-distribute this.

Edited: 9/7/07

Someone e-mailed me about this entry, wondering where the tutorial/information was, I guess I didn’t explain good enough. The source contains an example of pixel detection, and all of it is commented for an easier idea of what’s actually going on within the code, so the source IS the information. Sorry about the misunderstanding.

Download it…….here.

Posted in General Programming, Trainers | Leave a Comment »

Simple bot creation (Part 2/3)

Posted by compactwater on September2 2007

Editor’s note: This is only a small sample and explanation of usage.

Now you know how to click. And you probably want to type something, or press a key, to make your bot better! It’s simple, but there’s many ways to do it, so you’ll have to find the best method for your needs. Something you should never do, is have the game loaded in your program, and give input to the game like that. It usually always leads to slow game-play, and crashing. Keep that in mind when making a bot, always think ahead, so you don’t get lost and have to start all over.

SendMessage or PostMessage can be used to Send or Post a message (who knew?). Remember to choose which one will be best for your use, if you don’t understand the difference, click here for more information. When using S/PMessage, you should always use error handling (try, except, finally) in case of an error. If something were to go wrong, your application may crash or become unstable- never let this happen, use error handling! It’ll look something like this:

try //start something
HAND:=FindWindow(nil, PChar(Edit1.Text)); //Find the window
MySayso:=StrToInt(Edit2.Text); //Set the message. You may want to use Cardinal instead of Integer.
SendMessage(HAND, MySayso, 0, 0); //Send the message
except //If there’s an error…
on error: Exception do
MessageBox(Self.Handle, PChar(String(error.Message)), PChar(String(error.ClassName)), MB_OK); //Show what (if anything) went wrong.

With that, the user can specify a message to send to anyother window, and if there’s a problem sending the message, the program won’t crash so easily. If you’re a beginner, you should stick to “mouse_input” and “Send/PostMessage”, SendInput can be a bit complicated, and if not used correctly, cause many errors. Personally, I only use simple functions in my projects, unless it’s a larger project. Torry’s Delphi Pages may be of more help on SendInput, and other functions.

Pixel Detection will be next, It will be more detailed as well.

Posted in General Programming, Trainers | Leave a Comment »

Simple bot creation (Part 1/3)

Posted by compactwater on August30 2007

Editor’s note: If you’re lazy, skip to paragraph 6.

I’m sure you’ve used a bot before. A nice tool to make things easier. Well, making the bot isn’t too hard. But you should always remember to have a good reason for the bot, instead of hacking the game for the same, or even better effect. To make a simple or ‘basic’ bot, you will use Pixel detection and a method of input through the Keyboard or Mouse.

It’s a bit confusing thinking about it, but when you see the program in action, you’ll understand better. The basic thought behind a bot is, “If foo is bar, do X.”, meaning if a pixel is red, press a key, move the mouse and click, and/or alert the user. A good example of this would be an auto-clicker, it does what the user wants, so the user is happy. Something everyone (should) know, is that RuneScape isn’t generally ‘hackable’, but you can use a botting program, such as an auto-miner. It does what the user wants, and so the user is happy. When making a bot, that is all you need to know to get good reviews. If there is just one flaw, the user will not be happy.

Interviewing, or reading users’ responses will help you improving your bot, making it more advanced, and user-friendly. A user will use another bot over yours if it cannot do everything the other can and better, watch other bots, and their development, and improve and learn from them. Another important method is using BETA testers to see how your bot works, if there are any flaws or errors, what can be changed, and how to make it more user-friendly, so the initial release is not disgraced.

Version information should always be recorded and released publicly, and older versions should always be made available, and open-source. Making your bot open-source will help others learn, and others help you improve on your source. If you don’t like open-source, you can choose a trusted ‘partner’ to give the source to. You should never use malware to create your bot without informing the user of it’s reason, such as using a RootKit to make the bot undetected by Anti-Cheat software, or a dll injection to force accepted input, which could also set off anti-virus.

As anyone should know, using a bot can get you banned. If you aren’t careful, you will be banned, and possibly even permanently banned, which would require the use of a proxy to access the game again. But, some people don’t realize the risks and dangers of using the bot, so you should always use a disclaimer… otherwise some angry guy will say it’s all your fault he/she got banned, or that your bot is a scam, and you stole his account, etc.

Ready to make a bot!? You need to read and understand everything else before you continue, unless you’re an advanced user who can be very flexible. First: The objective of the bot. What will it do, how, when, and where? For my example, it’s a simple auto-clicker. But I will also teach you the use of Pixel detection and keyboard inputs.

  1. Clicking. Is it easy? Yes. Can doing it faster than a speeding bullet crash someone’s computer? Yes. Would that make a good bot? No. With clicking, it can be hard. Some slower computers cannot take input any faster than 20 milliseconds, as others can go faster than 20 nanoseconds, and because of this, you need to make your clicking adjustable by the user, usually by automated detection (advanced) or a simple edit box. In my example I used “mouse_event“, because of it’s option of mouse down and mouse up.
  2. Keyboard input. Yes, it’s easy, if it goes to fast it’ll crash, and not being flexible will make a very bad bot. It’s actually harder to decide which method of input to use when making it. SendInput, SendMessage or PostMessage, keyboard hooks, and etc. The bot should only use one input method, unless for multitasking. Also, some keys should never be used, such as F1 (help), and F12(break), because it can interfere with the bot.
  3. Pixel detection. Its much more simple than many may think. Most commonly used with Print Screen, BitBlt, and GetPixel (not to be confused with SetPixel). Pixel detection has to do with the Blue(GetBValue)-Green(GetGValue)-Red(GetRValue) values of a pixel. If they match, or are close to a certain value, the bot will be active, or alert the user. The pixel’s location should NEVER be hard-coded, it should be configurable by the user through the mouse with GetCursorPos.

Now, clicking. Here’s how it’s done with Mouse_Event:
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //Mouse down (click and hold)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); //Mouse up (release)

So now you’re ready to make an auto-clicker! (Happy?)
Get the source: (Unavailable due to the host dying, a fourth time)

Keyboard input and Pixel detection will come later!

Posted in General Programming, Trainers | 13 Comments »

NCE and NTS – Neopets Trainers

Posted by compactwater on August15 2007

You want to hack Neopets now, don’t you? Well, something you should know before I continue, is that almost every single hack for Neopets is a fake. Why? They ask for your information, usually promising Neopoints or items in return… but, an automated login is not fake. Please keep that in mind before using any ‘hacks’ for Neopets, so you aren’t scammed.

Here’s an example of the ‘code’ used:

  1. LoadGame(552,1,Uber Score)
  2. cheat1var(_root.controller.gGame.mcBigBoss._x,0)
  3. cheat1var2(_root.controller.gGame.mcBigBoss._y,0)

Bold – Function
Orange – Game ID
Red – Number of cheats
Violet – Name of cheat(s)
Green – Variable
Blue – Value to set Variable

Cheats go into ‘.rare’ files in the scripts folder. If you did something wrong, the cheats or game will not load. Also, be very careful to only use what you need, if you get close to the high scores you will be frozen (banned), making other accounts to hold your items and/or Neopoints is not a good idea, you can get chain banned, meaning every account of yours will be frozen. Using a proxy is useless, you can still be chain banned, remember to be careful with these trainers.

raredaredevil: 29 october 07 changed the flash game load code [nts] to work again
NCE by SciExTron:
NTS by raredaredevil:

Posted in Flash Hacking, Neopets, Trainers | 2 Comments »

Flash Katana

Posted by compactwater on August13 2007

Flash Katana, made by AoiMasamune, is a flash hacking trainer. With this, you can save the hassle of making a trainer for each and every game. As of July 31st, 2007 Katana is Version 1.9. Of many flash trainers that have been created, this is truly the best universal trainer.
You will need the latest .NET Runtime files to run the trainer.

More Information (click here).

Posted in Flash Hacking, Trainers | 10 Comments »