[INFO] Things you needed to know when making hacks/bots

09/16/2015 23:31 神-SouL#1
In this thread, I'm going to talk about what are the things you needed to know when making hacks / bots:

NOTE: I'm talking about all MMORPG in general.

What features should you look for when making hacks:
  • Teleport (client-sided only)
  • atk/move speed (depends on the game size, most game are client-sided for those types hacks, because if it's too much for the server to handle everyone's data)
  • VAC (client-sided only)
  • godmode
  • exploiting call functions(bp send, remember the old CP hacks?)
  • under-flowing /overflowing values (again, remember the old CP hacks?)
  • dmg hack (mostly pockets)
  • item/mob/player esp(useful for some huge map MMORPGs. eg. "Archeage" finding hidden monster/ sunken treasures in the sea, finding crafting mats etc.. and all FPS [wallhack]?)
  • and more... explore it yourself.

How about bot?

NOTE: Bot are much easier to make than hacks.
Here are my features of my "other" MMO personal private bot.
  • hp/mp current & max value (all about the heals)
  • current map ID/name (so your bot can go map-to-map / mob-to-mob with the right set coords)
  • current player coordinates (same as above)
  • hotkeys (for heals & skills) [prefer using call functions]
  • current mouse coordinate for walking & clicking [prefer using call functions]
  • current mob name/ coordinate (so your bot can check what it's killing and also useful for filtering out mobs)
  • item ID (so your bot can check for loots and filtering)
  • current item coordinates (so your bot can filter out junks by nopping or hidden the junk)
  • auto-looting (I'm currently using c++ vector & map to store all the names and boolean T/F for pickups then output the drops into a txt file to see what loots i got when I finished botting)
  • death/player detection (auto-stop the bot when died, or another player is near)
  • teleport(if it's client-sided)

    P.S: again... there's no limit when it comes to making a bot, it's all about ideas since your bot are mostly reading and not altering memory.
    Memory bots are better than pixel bots, if you had the right setup.

I know this list is not complete, if you have more comment write it down below.
09/17/2015 20:17 almar12#2
I am wondering, how many ways are there to get "God mode"?

- Enable Game Master commands (Some mmorpg's have godmode as GM command)
- Freeze value of HP adress
- Change value of dmg you take into 0
- Change HP value to a high number

Vac hack:
- Reverse vac hack, teleporting yourself to the mobs instead of mobs teleporting to you.
Change your characters coordination to mobs coordination
- Vac hack changing mobs coordinates to your characters coordinations.
- Same effect but not called vacuum hack; Increase attack range (Twelvesky 2 aoe for instance) to high number.
How to find, and put all the coordinates of the mobs into your code? There must be thousands, lots of work to do it all manually there has be an easier way right?

Thanks for sharing would love to see some tutorials from you (In C++ coding), you use C++ right?
09/17/2015 23:27 sad rice#3
Quote:
Originally Posted by almar12 View Post
Vac hack:
- Reverse vac hack, teleporting yourself to the mobs instead of mobs teleporting to you.
Change your characters coordination to mobs coordination
- Vac hack changing mobs coordinates to your characters coordinations.
- Same effect but not called vacuum hack; Increase attack range (Twelvesky 2 aoe for instance) to high number.
How to find, and put all the coordinates of the mobs into your code? There must be thousands, lots of work to do it all manually there has be an easier way right?
These are very popular methods in 2d games (eg. MapleStory).
09/18/2015 03:58 神-SouL#4
Quote:
Originally Posted by almar12 View Post
I am wondering, how many ways are there to get "God mode"?

- Enable Game Master commands (Some mmorpg's have godmode as GM command)
- Freeze value of HP adress
- Change value of dmg you take into 0
- Change HP value to a high number

Vac hack:
- Reverse vac hack, teleporting yourself to the mobs instead of mobs teleporting to you.
Change your characters coordination to mobs coordination
- Vac hack changing mobs coordinates to your characters coordinations.
- Same effect but not called vacuum hack; Increase attack range (Twelvesky 2 aoe for instance) to high number.
How to find, and put all the coordinates of the mobs into your code? There must be thousands, lots of work to do it all manually there has be an easier way right?

Thanks for sharing would love to see some tutorials from you (In C++ coding), you use C++ right?
Yes, i use c++.

for finding godmode what you should use is to find the "I took a hit from this monster" pocket and set the monster coordinate "out-of-sight", so it won't register the hit.

or you can just nop the dmg call for some games.


and for vac, what i like to use is to make a constant variable,


Then I create a 3d array to store each monster x, y, z structure and lastly using a loop to loop thru each monster x, y, z structures.

Code:
//example vac code

const int TOTAL_MONSTER = 100; //How many monsters you like to vac?

//vacing 100 monsters
for (int CurrentMonsterIndex= 0; CurrentMonsterIndex < TOTAL_MONSTER; CurrentMonsterIndex++)
    {
float currentMonsterCoords[CurrentMonsterIndex].monsterX + ((offset * CurrentMonsterIndex)) 
// each +1 CurrentMonsterIndex equals one monster, 
//eg: currentMonsterCoords[10].monsterX  means the X coordinate of monster #10.
    }
with the "+ ((offset * CurrentMonsterIndex))" and the "TOTAL_MONSTER" variable, it can just calculate the next monster coordinate without hard-coding the address in.
09/18/2015 12:21 Mega Byte#5
Nice post, should branch off into some tutorials on how to find these kind of hacks/exploits in memory to begin with.

And how game memory structures work
And how to find out how find and then to call a game function.
09/18/2015 14:52 almar12#6
Thanks for the reply, made me understand abit more about how things are done.
As for godmode, how would you find the "I took a hit from this monster" pocket?
Something like, using the option finding out what writes to this adress in CE?
09/19/2015 12:40 HairyWizard#7
Quote:
Originally Posted by 神-SouL View Post
Yes, i use c++.

for finding godmode what you should use is to find the "I took a hit from this monster" pocket and set the monster coordinate "out-of-sight", so it won't register the hit.

or you can just nop the dmg call for some games.


and for vac, what i like to use is to make a constant variable,


Then I create a 3d array to store each monster x, y, z structure and lastly using a loop to loop thru each monster x, y, z structures.

Code:
//example vac code

const int TOTAL_MONSTER = 100; //How many monsters you like to vac?

//vacing 100 monsters
for (int CurrentMonsterIndex= 0; CurrentMonsterIndex < TOTAL_MONSTER; CurrentMonsterIndex++)
    {
float currentMonsterCoords[CurrentMonsterIndex].monsterX + ((offset * CurrentMonsterIndex)) 
// each +1 CurrentMonsterIndex equals one monster, 
//eg: currentMonsterCoords[10].monsterX  means the X coordinate of monster #10.
    }
with the "+ ((offset * CurrentMonsterIndex))" and the "TOTAL_MONSTER" variable, it can just calculate the next monster coordinate without hard-coding the address in.
It would be more useful to define a structure with knowns (and unknowns), in case there's anything else you might do with the monsters in the future. You'd get rid of those nasty offsets as well. Something like this:

Code:
typedef struct _MonsterObject {
	int ID;
	int Level;
	int Unknown1[23];
	Vector3 Position;
	int Unknown2[55];
} MonsterObject;

MonsterObject* pMonsterObjects = (MonsterObject*)0xDEADBEEF;
for(int i = 0; i < 200; i++)
{
	pMonsterObjects[i].Position = pPlayer->Position;
}
(This is an arbitrary example).