DefaultO / Warspear-Online-Follow-Bot

Be your own Team!
MIT License
9 stars 6 forks source link

Find entidity list #3

Open Cif3r opened 5 months ago

Cif3r commented 5 months ago

I solved the multiple clients issue, and I know where the location of the list of entities is... but I haven't figured out how to find it on my own. What were the steps you followed? If it's not too much trouble, explain it to me.

DefaultO commented 5 months ago

If the Offsets didn't change you can find one of the values I have documented:

/*
(hex)58     entity name
(hex)F4     health
(hex)F8     max health
(hex)FC     mana
(hex)100    max mana
(hex)108    pos x
(hex)10A    pos y
(hex)10C    des x
(hex)10E    des y
*/

Go to the dissect data/structures feature of Cheat Engine. Then take away the relative offset of the field you found (the value behind hex). Now you are at the start of the Entity. Then take away 0x14. Now you are on the List. Now you can repeat taking away 0x4 or 0x8 until you are at the start of the List.

Basically what you see happening here:

string[] addr = {
"warspear.exe+5F0330,10,38,0,14",
"warspear.exe+5F0330,10,38,0,4,14",
"warspear.exe+5F0330,10,38,0,8,14",
"warspear.exe+5F0330,10,38,0,4,4,14",
"warspear.exe+5F0330,10,38,0,4,8,14",
"warspear.exe+5F0330,10,38,0,8,4,14",
"warspear.exe+5F0330,10,38,0,8,8,14",
"warspear.exe+5F0330,10,38,0,4,4,4,14",
"warspear.exe+5F0330,10,38,0,4,4,8,14",
"warspear.exe+5F0330,10,38,0,4,8,4,14",
"warspear.exe+5F0330,10,38,0,4,8,8,14",
"warspear.exe+5F0330,10,38,0,8,4,4,14",
"warspear.exe+5F0330,10,38,0,8,4,8,14",
"warspear.exe+5F0330,10,38,0,8,8,4,14",
"warspear.exe+5F0330,10,38,0,8,8,8,14",
"warspear.exe+5F0330,10,38,0,4,4,4,4,14",
"warspear.exe+5F0330,10,38,0,4,4,4,8,14",
"warspear.exe+5F0330,10,38,0,4,4,8,4,14",
"warspear.exe+5F0330,10,38,0,4,4,8,8,14",
"warspear.exe+5F0330,10,38,0,4,8,4,4,14",
"warspear.exe+5F0330,10,38,0,4,8,4,8,14",
"warspear.exe+5F0330,10,38,0,4,8,8,4,14",
"warspear.exe+5F0330,10,38,0,4,8,8,8,14",
"warspear.exe+5F0330,10,38,0,8,4,4,4,14",
"warspear.exe+5F0330,10,38,0,8,4,4,8,14",
...

Otherwise, you have to be lucky and find all entities in a room and hope that the entity with the lowest address is the first entity in the list.

When you find the start of the list. You can pointer scan for the list entry or the first entity in the list (I forgot). So you find the list automatically the next time you start the game (on the same game version).

I never tried. But maybe you can create a signature for the instructions at the address at the start of the list. This should work across different game versions if it works. If you find the entity list. Let me know. It would be interesting to see what it looks like in IDA.

Cif3r commented 4 months ago

hey bro, I solved everything... the multiclient, the list of entities and I also found the list of elements on the map, like flowers, boxes or some decorations like the fireworks from the daily mission.

I made a tracking bot with automatic healing and skill use with 3 PCs, a tank, a healer and an attack.

I made a bot that combines the 3 accounts to kill a minibos and its minions, achieving a total of 40k daily.

but there is a problem, they have temporarily banned me. the reasons? use of multiple accounts on the same device and/or suspicion of a bot, many ways come to mind that they could have realized it, 1 the very coordinated movement of the 3 accounts and a player who found it strange and reported to me, 2 the connection time of the 3 accounts, although my bot disconnected it for 15 minutes and re-entered to continue, if it detected a character that was not mine on the map it disconnected them, or if they can measure the gold that each person humanly can do a day. I'm not sure what it could be, can you show me the way to follow to make it undetectable? mmm block for using 3 account for the same ip

DefaultO commented 4 months ago

hey bro, I solved everything... the multiclient, the list of entities and I also found the list of elements on the map, like flowers, boxes or some decorations like the fireworks from the daily mission.

I made a tracking bot with automatic healing and skill use with 3 PCs, a tank, a healer and an attack.

I made a bot that combines the 3 accounts to kill a minibos and its minions, achieving a total of 40k daily.

but there is a problem, they have temporarily banned me. the reasons? use of multiple accounts on the same device and/or suspicion of a bot, many ways come to mind that they could have realized it, 1 the very coordinated movement of the 3 accounts and a player who found it strange and reported to me, 2 the connection time of the 3 accounts, although my bot disconnected it for 15 minutes and re-entered to continue, if it detected a character that was not mine on the map it disconnected them, or if they can measure the gold that each person humanly can do a day. I'm not sure what it could be, can you show me the way to follow to make it undetectable? mmm block for using 3 account for the same ip

can be multiple connections from the same IP because they started to block opening multiple games. but they have to consider a threshold. because you might have friends over who are playing the game together with you. so probably not connections from the same IP. to counter such detections, you can use proxies (free/paid IPs that are proxy servers that redirect your traffic to the internet). but you will need a program that can redirect traffic from specific processes to your proxy server (IP). I think a program that does this is called Proxifier.

there might be hardware checks to determine if you are using multiple clients. different clients + same hardware = report. but I can't tell you. check for Windows function imports inside IDA to figure out what they can use against you. look for an API that retrieves hardware information and see where it gets used.

there is nothing you can do to prevent players from reporting you. try to solo maybe instead of playing in a group of 3 for easy bosses. check if you got messaged in-game. then you might use a language model like chatgpt to automatically answer.

try to run your bots like the old bots. disconnect after the boss is defeated. reconnect when the boss spawns again. there is a cooldown that is the same every single time.

change behavior. not sure what you are doing. if you are standing next to the boss spawns for the whole time for the whole day. try to make the bots go to a different boss spot. there are multiple boss spots you can farm easily when you are level 12 or below.