Adresses et Offsets BO3 1.03 + mise à jour toutes versions

Statut
N'est pas ouverte pour d'autres réponses.
Pour Enable le RPC: Init();

Code:
public static uint function_address = Offsets.R_SetFrameFog;

        public static int Init()
        {
            if (function_address == 0) return -1;
            Enable_RPC();
            return 0;
        }

        public static void Enable_RPC()
        {
            PS3.SetMemory(function_address, new byte[] { 0x4E, 0x80, 0x00, 0x20 });
            System.Threading.Thread.Sleep(20);
            byte[] func = new byte[] { 0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x60, 0x10, 0x05, 0x81, 0x83, 0x00, 0x4C, 0x2C, 0x0C, 0x00, 0x00, 0x41, 0x82, 0x00, 0x64, 0x80, 0x83, 0x00, 0x04, 0x80, 0xA3, 0x00, 0x08, 0x80, 0xC3, 0x00, 0x0C, 0x80, 0xE3, 0x00, 0x10, 0x81, 0x03, 0x00, 0x14, 0x81, 0x23, 0x00, 0x18, 0x81, 0x43, 0x00, 0x1C, 0x81, 0x63, 0x00, 0x20, 0xC0, 0x23, 0x00, 0x24, 0xC0, 0x43, 0x00, 0x28, 0xC0, 0x63, 0x00, 0x2C, 0xC0, 0x83, 0x00, 0x30, 0xC0, 0xA3, 0x00, 0x34, 0xC0, 0xC3, 0x00, 0x38, 0xC0, 0xE3, 0x00, 0x3C, 0xC1, 0x03, 0x00, 0x40, 0xC1, 0x23, 0x00, 0x48, 0x80, 0x63, 0x00, 0x00, 0x7D, 0x89, 0x03, 0xA6, 0x4E, 0x80, 0x04, 0x21, 0x3C, 0x80, 0x10, 0x05, 0x38, 0xA0, 0x00, 0x00, 0x90, 0xA4, 0x00, 0x4C, 0x90, 0x64, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6, 0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20 };
            PS3.SetMemory(function_address + 0x4, func);
            PS3.SetMemory(0x10050000, new byte[0x2854]);
            PS3.SetMemory(function_address, new byte[] { 0xF8, 0x21, 0xFF, 0x91 });
        }

        public static int Call(uint func_address, params object[] parameters)
        {
            int num_params = parameters.Length;
            uint num_floats = 0;
            for (uint i = 0; i < num_params; i++)
            {
                if (parameters[i] is int)
                {
                    byte[] val = BitConverter.GetBytes((int)parameters[i]);
                    Array.Reverse(val);
                    PS3.SetMemory(0x10050000 + (i + num_floats) * 4, val);
                }
                else if (parameters[i] is uint)
                {
                    byte[] val = BitConverter.GetBytes((uint)parameters[i]);
                    Array.Reverse(val);
                    PS3.SetMemory(0x10050000 + (i + num_floats) * 4, val);
                }
                else if (parameters[i] is string)
                {
                    byte[] str = Encoding.UTF8.GetBytes(Convert.ToString(parameters[i]) + "\0");
                    PS3.SetMemory(0x10050054 + i * 0x400, str);
                    uint addr = 0x10050054 + i * 0x400;
                    byte[] address = BitConverter.GetBytes(addr);
                    Array.Reverse(address);
                    PS3.SetMemory(0x10050000 + (i + num_floats) * 4, address);
                }
                else if (parameters[i] is float)
                {
                    num_floats++;
                    byte[] val = BitConverter.GetBytes((float)parameters[i]);
                    Array.Reverse(val);
                    PS3.SetMemory(0x10050024 + ((num_floats - 1) * 0x4), val);
                }
            }
            byte[] fadd = BitConverter.GetBytes(func_address);
            Array.Reverse(fadd);
            PS3.SetMemory(0x1005004C, fadd);
            System.Threading.Thread.Sleep(20);
            byte[] ret = PS3.Extension.ReadBytes(0x10050050, 4);
            Array.Reverse(ret);
            return BitConverter.ToInt32(ret, 0);
        }
pas complet bro j'ai erreur
 
uHigSQ9.png
 
black screen : 0x26EFC20 ON : 0x01 OFF : 0x00

Credit : Moi
 
Essaye sa, si sa marche temps mieux :D :

Code:
unsigned int function_address = 0x3CE408;


    int Call(unsigned int func_address, ...)
    {
        int length = parameters->Length;
        int index = 0;
        unsigned int num3 = 0;
        unsigned int num4 = 0;
        unsigned int num5 = 0;
        unsigned int num6 = 0;
        while (index < length)
        {
            if (dynamic_cast<int>(parameters[index]) != nullptr)
            {
                PS3::Extension::WriteInt32(0x10020000 + (num3 * 4), static_cast<int>(parameters[index]));
                num3++;
            }
            else if (dynamic_cast<unsigned int>(parameters[index]) != nullptr)
            {
                PS3::Extension::WriteUInt32(0x10020000 + (num3 * 4), static_cast<unsigned int>(parameters[index]));
                num3++;
            }
            else
            {
                unsigned int num7;
                if (dynamic_cast<std::wstring>(parameters[index]) != nullptr)
                {
                    num7 = 0x10022000 + (num4 * 0x400);
                    PS3::Extension::WriteString(num7, static_cast<std::wstring>(parameters[index]));
                    PS3::Extension::WriteUInt32(0x10020000 + (num3 * 4), num7);
                    num3++;
                    num4++;
                }
                else if (dynamic_cast<float>(parameters[index]) != nullptr)
                {
                    PS3::Extension::WriteFloat(0x10020024 + (num5 * 4), static_cast<float>(parameters[index]));
                    num5++;
                }
                else if (dynamic_cast<float[]>(parameters[index]) != nullptr)
                {

                    float *input = static_cast<float[]>(parameters[index]);
                    num7 = 0x10021000 + (num6 * 4);
                    WriteSingle(num7, input);
                    PS3::Extension::WriteUInt32(0x10020000 + (num3 * 4), num7);
                    num3++;
                    num6 += static_cast<unsigned int>(input->Length);
                }
            }
            index++;
        }
        PS3::Extension::WriteUInt32(0x1002004C, func_address);
        delay(20);
        return PS3::Extension::ReadInt32(0x10020050);
    }

    void Enable_RPC()
    {
        if (PS3::Extension::ReadByte(function_address + 0xB) == 0xD0)
        {
            PS3::SetMemory(function_address, new unsigned char[] {0x4E, 0x80, 0x00, 0x20});
            delay(20);
            unsigned char memory[136] = {0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x60, 0x10, 0x02, 0x81, 0x83, 0x00, 0x4C, 0x2C, 0x0C, 0x00, 0x00, 0x41, 0x82, 0x00, 0x64, 0x80, 0x83, 0x00, 0x04, 0x80, 0xA3, 0x00, 0x08, 0x80, 0xC3, 0x00, 0x0C, 0x80, 0xE3, 0x00, 0x10, 0x81, 0x03, 0x00, 0x14, 0x81, 0x23, 0x00, 0x18, 0x81, 0x43, 0x00, 0x1C, 0x81, 0x63, 0x00, 0x20, 0xC0, 0x23, 0x00, 0x24, 0xc0, 0x43, 0x00, 0x28, 0xC0, 0x63, 0x00, 0x2C, 0xC0, 0x83, 0x00, 0x30, 0xC0, 0xA3, 0x00, 0x34, 0xc0, 0xC3, 0x00, 0x38, 0xC0, 0xE3, 0x00, 0x3C, 0xC1, 0x03, 0x00, 0x40, 0xC1, 0x23, 0x00, 0x48, 0x80, 0x63, 0x00, 0x00, 0x7D, 0x89, 0x03, 0xA6, 0x4E, 0x80, 0x04, 0x21, 0x3C, 0x80, 0x10, 0x02, 0x38, 0xA0, 0x00, 0x00, 0x90, 0xA4, 0x00, 0x4C, 0x90, 0x64, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6, 0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20};
            PS3::SetMemory(function_address + 4, memory);
            PS3::SetMemory(0x10020000, new unsigned char[0x2854]);
            PS3::SetMemory(function_address, new unsigned char[] {0xF8, 0x21, 0xFF, 0x91});
        }
        else
        {

        }
    }

    int Init()
    {
        function_address = 0x3CE408;
        Enable_RPC();
        return 0;
    }
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut