You are viewing our Forum Archives. To view or take place in current topics click here.
A little something for gta
Posted:

A little something for gtaPosted:

ip
  • 2 Million
Status: Offline
Joined: Dec 30, 201211Year Member
Posts: 3,778
Reputation Power: 3016
Status: Offline
Joined: Dec 30, 201211Year Member
Posts: 3,778
Reputation Power: 3016
I know this isn't much, but I thought I would share it. I do not take credit for this. I just found it in a paid tool and thought "Hey, why not?" so here it is.

This basically checks the memory to see which game you are loading so the user of an app doesn't accidentally hit a button and cause their console to freeze. So it's more like protection than anything.

static string ReadGame()
        {
            if (Enumerable.SequenceEqual<byte>((IEnumerable<byte>)new byte[5] { 0x67, 0x74, 0x61, 0x35, 0x00 }, a.GetMemory(0x8200561C, 5U)))
            {
                gtav = true;
                return "loaded";
            }
            else
            {
                return "unknown";
            }
        } // I'm sure you could figure out how to check memory of different games with this method


Who knows...I might release the method on how to find the money and rank offsets. :p

Oh and to the creator. you shouldn't have been money hungry. :angry:

Edit 1:
Now, I don't know if this works or not as I don't have a kv to test it with. I don't know if there are errors as I typed it up in notepad++. So please report back with the errors and I will try to fix the code.

Finding money offsets :p
public void Find_Money()
{
   try
   {
      for (int_2 != 1; int_2 = 1)
      {
         MessageBox.Show("Searching for money!");
      }
      for (int index = 0; index < 0x1FFFFF; index++)
         uint_11[index] = 0;
      int_0 = 0;
      byte[] numArray = new byte[0x1FFFFF];
      Jtag.GetMemory(0xCB500000, numArray1);
      byte[] byte_2_1 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
      byte[] byte_2_2 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
      byte[] byte_2_3 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
      byte[] byte_2_4 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
      FindPattern(numArray1, byte_2_1, 0xCB500000);
      FindPattern(numArray1, byte_2_2, 0xCB500000);
      FindPattern(numArray1, byte_2_3, 0xCB500000);
      FindPattern(numArray1, byte_2_4, 0xCB500000);
      for (int index = 0; index < 0x1FFFFF; index++)
         uint_12[index] = 0;
         int_1 = 0;
         byte[] numArray2 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
         byte[] numArray3 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
         byte[] numArray4 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
         byte[] numArray5 = new byte[8] { 0x82, 0x07, 0x26, 0x2C, 0x19, 0x3C, 0xC, 0x16 };
         byte[] bytes = new byte[8];
         for (int index = 0; index < int_0; index++)
         {
            Jtag.GetMemory(uint_11[index], bytes);
            if (Enumerable.SequenceEqual<byte>((IEnumberable<byte>)bytes, (IEnumberable<byte>) numArray2)
            {
               uint_12[int_1] = uint_11[index];
               int_1++;
            }
         }
         MessageBox.Show("Money Offset Found!");
   }
   catch (Exception)
   {
   MessageBox.Show("Money not found.");
   }
}

// how to call it

try
{
   byte[] bytes1 = BitConverter.GetBytes(Convert.ToInt64(textBox1.Text));
   Array.Reverse((Array) bytes1);
   for (int index = 0; index < int_1; index++)
   {
      Jtag.SetMemory({uint)12[index] - 4 - 8) new byte[1] { 0xD9 });
      byte[] memory1 = Jtag.GetMemory((uint_12[index] + 128 - 8), 0x8);
      byte[] memory2 = Jtag.GetMemory((uint_12[index] -8U), 8U)
      Array.Reverse(memory1);
      Array.Reverse(memory2);
      byte[] bytes2 = BitConverter.GetBytes(BitConverter.ToInt64(memory1, 0) + BitConverter.ToInt64(memory2, 0));
      Array.Reverse(bytes2);
      Jtag.SetMemory(uint_12[index] + 8, bytes2);
      Jtag.SetMemory((uint_12[index] + 12 - 8), new byte[] { 0xD9 });
      Jtag.SetMemory((uint_12[index] + 124 - 8 ), new byte[] { 0xD9 });
   }
catch (Exception)
{
}
}

The following 2 users thanked ip for this useful post:

xChillest (09-27-2014), tell (09-27-2014)
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.