[Bot MOD]Battle of Immortals Bot

05/13/2011 20:14 White_Bear#1441
can someone help me with BOI indonesia bot >.<
i try to use the international one.. the bot only open the map and then close it again repeatedly, is there any bot for indonesia BOI >.< thanks
05/16/2011 23:51 tekc#1442
I've managed to update the source and offsets, and get the bot about 90% functional

attacking, potting, buffs, target filter all work. I haven't bothered updating the dont attack lords, or the already tagged options. i dont care about those and they are really only used when you bot in public....which i dont.

right now the zoning control, and the auto-follow leader are not functional. This is due to the autoroute function within the source not working.

I've tested the logic, and stepped through it all with the debugger, however the game.exe crashes once the array of bytes is sent through the pipeserver.

Code:
public void BoI_MapAutoRoute(int MapID, float X_Coord, float Y_Coord) //3
        {
            byte[] PServer_OutBuffer = new byte[64]; //out buffer

            byte[] UniID = BitConverter.GetBytes((uint)LocalGlobals.NamedPipe_UniqueID); //Unique ID
            Array.Copy(UniID, 0, PServer_OutBuffer, 0, 4);

            byte[] MsType = BitConverter.GetBytes(3); //type
            Array.Copy(MsType, 0, PServer_OutBuffer, 4, 4);

            byte[] MaID = BitConverter.GetBytes(MapID); //Map ID
            Array.Copy(MaID, 0, PServer_OutBuffer, 8, 4);

            byte[] MaX = BitConverter.GetBytes(X_Coord); //Map X Coord
            Array.Copy(MaX, 0, PServer_OutBuffer, 12, 4);

            byte[] MaY = BitConverter.GetBytes(Y_Coord); //Map Y Coord
            Array.Copy(MaY, 0, PServer_OutBuffer, 16, 4);

            [B]pieServer.SendMessage(PServer_OutBuffer);[/B]
        }
Code:
public void SendMessage(byte[] messageBuffer)
        {
            lock (this.clients)
            {
                if (!active)
                {
                    active = true;
                    foreach (Client client in this.clients)
                    {
                        if (client != null)
                        {
                            [B]client.stream.Write(messageBuffer, 0, messageBuffer.Length);[/B]
                            try
                            {
                                client.stream.Flush();
                            }
                            catch //client already closed
                            {
                            }
                        }
                    }
                    active = false;
                }
            }
        }
the game.exe crashes where the text is bolded.

From here, I'm not sure what to do in order to get the auto-follow functional. I've tried unpacking the game.exe on both x64 and x86 windows virtual machines. The process always terminates when i press F9 the second time.

Anyways, I'm willing to share my work with anyone who can help me get this autoroute functional.

I think it boils down to the array of bytes being constructed improperly due to the new update, not particularly sure.
05/17/2011 06:45 dlnqt#1443
hey tekc, I would like to work with you in updating this bot. BTW, are you using my420's bot instead of dumpersta's bot? I'm having a problem updating offsets for dumpersta's bot.

As I understand, the program automatically updates the offsets(MemAddr.ini) when you open the bot. The offsets hardcoded in the main program are overwritten right? What did you change anyway? the sig masking?

EDIT:
Do you want to unpack the game.exe? I use OllyDBG + StrongOD when I'm running game.exe using OllyDBG. I can play normally and play around with Ollydbg succesfully without game.exe detecting the debugger.
05/17/2011 08:36 tekc#1444
Quote:
Originally Posted by dlnqt View Post
hey tekc, I would like to work with you in updating this bot. BTW, are you using my420's bot instead of dumpersta's bot? I'm having a problem updating offsets for dumpersta's bot.

As I understand, the program automatically updates the offsets(MemAddr.ini) when you open the bot. The offsets hardcoded in the main program are overwritten right? What did you change anyway? the sig masking?

EDIT:
Do you want to unpack the game.exe? I use OllyDBG + StrongOD when I'm running game.exe using OllyDBG. I can play normally and play around with Ollydbg succesfully without game.exe detecting the debugger.
I'm using the source from my420's updated GB.

dumpersta added in the functionality to update the offsets from the ini file, that way the bot could essentially be "future proof", however my420 went in and did some changes, and hardcoded those offsets that are grabbed from the ini file.

he even went through and removed most of the calls to the AddresssUpdatr functions making that file pretty much useless.

in the botsession.cs file at the top they're are globals for the previous offsets that need to be updated. for the most part, with cheat engine i was able to go through and update each and everyone of those offsets with static values. statics have no offset, and so they dont need to be added to the game.exe value(0x400000) like pointers do.

after that i went back in and changed one of the boolean functions to return true when the value was 0, instead of 1. This was most likely due to the fact that i used a different offset than before. I can't exactly remember which function i had to do it for though.

use breakpoints and the debugger in VS2010, they're my lifeline

I think i may need to unpack the game.exe, or at the very least get ollydbg working. I want to examine the array of bytes that the game creates when an autoroute command is issued, and then compare with the array that the gb sends.

I think this is the only way to fix the autofollow, or at least the only way i can think of

If you can help me figure out how to get ollydbg working, or unpack the game, i'll be more than happy to share with you the offsets i've discovered so far.
05/17/2011 10:20 dlnqt#1445
[Only registered and activated users can see links. Click Here To Register...]

change the ***** to "s n o x d" without the quote and spaces

i use the ollydbg used by phantom23. I don't think that there's anything special in his ollydbg, besides having strongOD. using OllyDBG + StrongOD doesn't work for you?

the settings i used for StrongOD is indicated in this thread:

[Only registered and activated users can see links. Click Here To Register...]

i just checked my420's source, and i'm pretty sure that BOIGB.cs is still calling the functions included in the AddressUpdater..

Code:
public void Form_Load_CharList()//ok(?)
        {
            lstbx_CharNames.Items.Clear();
            Process[] BIO_Proccesses = Process.GetProcessesByName("game");

            for (int i = 0; i < BIO_Proccesses.Length; i++)
            {
                if (BIO_Proccesses[i].MainWindowTitle.Contains("Immortals")) //game.exe seems generic, so a second check is in place
                {
                    
                   [B] AddressUpdater.MemAddr_Check_Version(BIO_Proccesses[i]);[/B]

                    IntPtr hTemp = HomeGrown.Hacking.OpenProcess(HomeGrown.Hacking.ProcessAccessFlags.VMRead |
                        HomeGrown.Hacking.ProcessAccessFlags.VMWrite |
                        HomeGrown.Hacking.ProcessAccessFlags.VMOperation, true, BIO_Proccesses[i].Id);

                    string charName = HomeGrown.Hacking.Process_ReadStringFromMemory(hTemp, Bot_Session.pCharacter_Name, false);
                    if (charName != "")
                    {
                        bool AlreadyHave = false;
                        foreach (Bot_Session bs in botSessions) //checks to see if already have
                        {
                            if (bs.LocalGlobals.Char_Name == charName)
                            {
                                AlreadyHave = true;
                                break;
                            }
                        }
                        if (!AlreadyHave) //if we dont then add it
                        {
                            Bot_Session tempBotSession = new Bot_Session(this);
                            tempBotSession.LocalGlobals.BIO_Process = BIO_Proccesses[i];
                            tempBotSession.LocalGlobals.BIO_OpenedHandle = hTemp;
                            tempBotSession.LocalGlobals.Char_Name = charName;
                            botSessions.Add(tempBotSession);//adds it
                        }
                        lstbx_CharNames.Items.Add(charName);
                    }
                }
            }
            for (int i = 0; i < botSessions.Count; i++)
            {
                bool ProcessIsStillRunning = true;
                try
                {
                    Process p = Process.GetProcessById(botSessions[i].LocalGlobals.BIO_Process.Id);
                    ProcessIsStillRunning = p.MainWindowTitle.Contains("Immortals"); //checks to see if if valid
                }
                catch
                {
                    ProcessIsStillRunning = false;
                }
                if (!ProcessIsStillRunning) //if it's not then remove it from the bot session list
                {
                    botSessions.RemoveAt(i);
                }
            }
        }
05/17/2011 13:38 gewing#1446
can someone update BOT for BOI international ,this BOT not work anymore
05/17/2011 17:20 ehdz#1447
any bot prog this months may 2011
coz mine not working nemore?
05/17/2011 18:27 takashi83#1448
guys pls wait patiently for tekc and dlnqt, they are trying their best to update the bot...

^^
05/18/2011 02:41 tekc#1449
Quote:
Originally Posted by dlnqt View Post
[Only registered and activated users can see links. Click Here To Register...]

change the ***** to "s n o x d" without the quote and spaces

i use the ollydbg used by phantom23. I don't think that there's anything special in his ollydbg, besides having strongOD. using OllyDBG + StrongOD doesn't work for you?

the settings i used for StrongOD is indicated in this thread:

[Only registered and activated users can see links. Click Here To Register...]
Still no luck, even with the pimped out version of ollydbg, named PMB.exe

after i relocated the plugins folder and the other scripts and tools, i configured strongOD just like pictured. When i press F9 twice, this is the message i receive after it terminates
Code:
Process terminated, exit code 40000001E
I googled some and came across this thread,
[Only registered and activated users can see links. Click Here To Register...]
*'s = g a m e r e v i s i o n

I read through that thread a little more and it said that you needed a special version of strongOD for 64-bit computers, so i tried that and still got no sucess

I think im going to try the olly advanced plugin and see if that helps

EDIT:

using olly advanced i was able to at least get something, when i press f9 twice the game.exe executes but an error message is displayed before it launches then it terminates

"A debugger has been found running in your system. Please, unload it from memory and restart your program"

Edit again: still no luck with any of the combos above
05/18/2011 04:48 akari1212#1450
is this written in C#?
what should I do with the source?
05/18/2011 08:09 dlnqt#1451
Quote:
Originally Posted by tekc View Post
Still no luck, even with the pimped out version of ollydbg, named PMB.exe

after i relocated the plugins folder and the other scripts and tools, i configured strongOD just like pictured. When i press F9 twice, this is the message i receive after it terminates
Code:
Process terminated, exit code 40000001E
I googled some and came across this thread,
[Only registered and activated users can see links. Click Here To Register...]
*'s = g a m e r e v i s i o n

I read through that thread a little more and it said that you needed a special version of strongOD for 64-bit computers, so i tried that and still got no sucess

I think im going to try the olly advanced plugin and see if that helps

EDIT:

using olly advanced i was able to at least get something, when i press f9 twice the game.exe executes but an error message is displayed before it launches then it terminates

"A debugger has been found running in your system. Please, unload it from memory and restart your program"

Edit again: still no luck with any of the combos above
Ohh.. I'm using Windows XP that's why it's working for me.. BTW did you also setup the debugging options in ollydbg indicated in the thread?
05/18/2011 08:47 tekc#1452
Quote:
Originally Posted by dlnqt View Post
Ohh.. I'm using Windows XP that's why it's working for me.. BTW did you also setup the debugging options in ollydbg indicated in the thread?
yeah im using win7 x64, i read though that i should try attaching the debugger once i've started the process already, so i might try that next.
05/18/2011 19:46 zozo10#1453
working in new update? (05/18/2011)?
05/19/2011 04:51 fierce134#1454
same with zozo is this thing still working?
05/19/2011 21:51 HellsDragoness#1455
Im not sure if this is even working after the update but,
I downloaded the C++ and web installer thing and extracted all the files linked on the forum into a folder and the bot cant find my character name.
Am I doing something wrong?
I'm not all that great at scripting and what not but the "BOIGB Settings" is blank.
Im running windows 7 professional 64 bit.
Thanks