What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

How to allocate each D3 a different MAC address without VM?

ihateken

New Member
Joined
Nov 18, 2012
Messages
6
Reaction score
0
Hi I'm relatively new to DB, during downtime I'm just wondering how to allocate each D3 a different MAC address without VM?
I tried searth the forums but apparently "mac address" is a phrase too common or short to be a valid search phrase.
Also, on a curious note, can PCs have duplicate MAC address normally?


Want to expand number of bots on computer but can't do it with the cumbersome VMs...
 
Apoc released a starter not long ago that can launch multiple d3s from the same folder that may interest you ( linky )

While I understand the MAC address issue, I don't know how big of an issue it really is, nor do I know how to do it in a way other than VMs, sorry
 
While writing my bot for Battle of the Immortals I needed a way to bypass the Mac ID check on certain quests as well as make the bot more secure. What I found was that the game had actually stored my Mac ID in memory. From there it was a quick memory write, realm change, and you were on a new Mac ID. Assuming that Diablo 3 also stores your Mac ID into memory the code below could be adapted into a plugin to change your Mac ID. There is more code that goes with the code below but you can easily google WriteMemory and OpenProcess for C#. Some of the information may even be possible to get from DB itself.

Code:
private byte[] randomMacAddress()
        {
            Random random = new Random();
            byte[] randomByteArray = new byte[6];
            random.NextBytes(randomByteArray);
            return randomByteArray;
        }
		
private void Btn_ChangeClientID_Click(object sender, EventArgs e)
        {
            foreach (Bot_Session bs in botSessions)
            {
                if (bs.LocalGlobals.Char_Name == lstbx_CharNames.SelectedItem.ToString())
                {
                    byte[] newMacAddy = randomMacAddress();
                    IntPtr hTemp = HomeGrown.Hacking.OpenProcess(HomeGrown.Hacking.ProcessAccessFlags.VMRead |
                                    HomeGrown.Hacking.ProcessAccessFlags.VMWrite |
                                    HomeGrown.Hacking.ProcessAccessFlags.VMOperation, true, bs.LocalGlobals.BIO_Process.Id);

                    HomeGrown.Hacking.Process_WriteMemory(hTemp, MemoryAddresses.pClient_ID, newMacAddy);
                    txtBox_ClientMacID.Text = BitConverter.ToString(HomeGrown.Hacking.Process_ReadMemory(bs.LocalGlobals.BIO_OpenedHandle, MemoryAddresses.pClient_ID, 6));

                    MessageBox.Show("You need to change realms before the client ID change will take effect.",
                    "Client ID Change Notice",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation,
                    MessageBoxDefaultButton.Button1);
                }
            }
        }
 
Back
Top