Post: 1.14 RPC (Fixed)
05-17-2014, 01:53 PM #1
Shark
Retired.
(adsbygoogle = window.adsbygoogle || []).push({}); This is a fixed version of the RPC SC58 released, it didn't return values so yea this is just a quick fix :p!
I also edited the call function so it supports some more value types!

Credits: Choco, SC58 (Releasing His FOG RPC)
SC58's Thread: You must login or register to view this content.

Pastebin Link: You must login or register to view this content.

RPC 1.14
    
private static uint function_address = 0x38EDE8;

public static int Call(UInt32 func_address, params object[] parameters)
{
int length = parameters.Length;
int index = 0;
UInt32 num3 = 0;
UInt32 num4 = 0;
UInt32 num5 = 0;
UInt32 num6 = 0;
while (index < length)
{
if (parameters[index] is int)
{
PS3.Extension.WriteInt32(0x10050000 + (num3 * 4), (int)parameters[index]);
num3++;
}
else if (parameters[index] is UInt32)
{
PS3.Extension.WriteUInt32(0x10050000 + (num3 * 4), (UInt32)parameters[index]);
num3++;
}
else
{
UInt32 num7;
if (parameters[index] is string)
{
num7 = 0x10052000 + (num4 * 0x400);
PS3.Extension.WriteString(num7, Convert.ToString(parameters[index]));
PS3.Extension.WriteUInt32(0x10050000 + (num3 * 4), num7);
num3++;
num4++;
}
else if (parameters[index] is float)
{
PS3.Extension.WriteFloat(0x10050024 + (num5 * 4), (float)parameters[index]);
num5++;
}
else if (parameters[index] is float[])
{
float[] input = (float[])parameters[index];
num7 = 0x10051000 + (num6 * 4);
Lib.WriteSingle(num7, input);
PS3.Extension.WriteUInt32(0x10050000 + (num3 * 4), num7);
num3++;
num6 += (UInt32)input.Length;
}
}
index++;
}
PS3.Extension.WriteUInt32(0x1005004C, func_address);
Thread.Sleep(20);
return PS3.Extension.ReadInt32(0x10050050);
}

public static void EnableRPC()
{
byte[] RPC = { 0xF8, 0x21, 0xFF, 0x91, 0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x40, 0x00, 0x72, 0x30, 0x42, 0x4C, 0x38, 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, 0x3C, 0x40, 0x00, 0x73, 0x30, 0x42, 0x4B, 0xE8, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6, 0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20 };
PS3.SetMemory(function_address, RPC);
PS3.SetMemory(0x10050000, new byte[0x2854]);
}


How To Activate It
    
To active the RPC just put EnableRPC(); after you connect/attach your ps3


Enjoy!
Last edited by Taylor ; 07-09-2014 at 06:25 PM.

The following 8 users say thank you to Shark for this useful post:

AlexNGU, AlScrapesH52, CanadianModding, NotALegitPlayer, Taylor, SyTry, Tipton_Modz, Winter
05-21-2014, 05:07 PM #11
SC58
Former Staff
Originally posted by Shark View Post
what "cool thing" :think:


meaning you just wont get stuff working like he said lol
06-02-2014, 08:31 AM #12
vezzdu11
Save Point
what is the problem ? ..... You must login or register to view this content.
please help me
07-09-2014, 06:41 AM #13
Shark
Retired.
the rpc is fixed now :p and it returns shit so ya!
07-09-2014, 06:30 PM #14
Taylor
Former Black Knight.
Originally posted by vezzdu11 View Post
what is the problem ? ..... You must login or register to view this content.
please help me


Replace:
    
Lib.WriteSingle(num7, input);


With:

    
DEX.Extension.WriteFloat(num7, Convert.ToSingle(input));

The following user thanked Taylor for this useful post:

Esker
07-09-2014, 07:02 PM #15
seb5594
Proud Former Admin
Originally posted by Taylor View Post
Replace:
    
Lib.WriteSingle(num7, input);


With:

    
DEX.Extension.WriteFloat(num7, Convert.ToSingle(input));


or

    
DEX.Extension.WriteFloat(num7, (float)input);


:p
07-09-2014, 07:50 PM #16
Taylor
Former Black Knight.
Originally posted by seb5594 View Post
or

    
DEX.Extension.WriteFloat(num7, (float)input);


:p


That too.
07-22-2014, 11:39 PM #17
Very nice Smile
06-28-2015, 01:57 PM #18
Originally posted by Shark View Post
This is a fixed version of the RPC SC58 released, it didn't return values so yea this is just a quick fix :p!
I also edited the call function so it supports some more value types!

Credits: Choco, SC58 (Releasing His FOG RPC)
SC58's Thread: You must login or register to view this content.

Pastebin Link: You must login or register to view this content.

RPC 1.14
    
private static uint function_address = 0x38EDE8;

public static int Call(UInt32 func_address, params object[] parameters)
{
int length = parameters.Length;
int index = 0;
UInt32 num3 = 0;
UInt32 num4 = 0;
UInt32 num5 = 0;
UInt32 num6 = 0;
while (index < length)
{
if (parameters[index] is int)
{
PS3.Extension.WriteInt32(0x10050000 + (num3 * 4), (int)parameters[index]);
num3++;
}
else if (parameters[index] is UInt32)
{
PS3.Extension.WriteUInt32(0x10050000 + (num3 * 4), (UInt32)parameters[index]);
num3++;
}
else
{
UInt32 num7;
if (parameters[index] is string)
{
num7 = 0x10052000 + (num4 * 0x400);
PS3.Extension.WriteString(num7, Convert.ToString(parameters[index]));
PS3.Extension.WriteUInt32(0x10050000 + (num3 * 4), num7);
num3++;
num4++;
}
else if (parameters[index] is float)
{
PS3.Extension.WriteFloat(0x10050024 + (num5 * 4), (float)parameters[index]);
num5++;
}
else if (parameters[index] is float[])
{
float[] input = (float[])parameters[index];
num7 = 0x10051000 + (num6 * 4);
Lib.WriteSingle(num7, input);
PS3.Extension.WriteUInt32(0x10050000 + (num3 * 4), num7);
num3++;
num6 += (UInt32)input.Length;
}
}
index++;
}
PS3.Extension.WriteUInt32(0x1005004C, func_address);
Thread.Sleep(20);
return PS3.Extension.ReadInt32(0x10050050);
}

public static void EnableRPC()
{
byte[] RPC = { 0xF8, 0x21, 0xFF, 0x91, 0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x40, 0x00, 0x72, 0x30, 0x42, 0x4C, 0x38, 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, 0x3C, 0x40, 0x00, 0x73, 0x30, 0x42, 0x4B, 0xE8, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6, 0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20 };
PS3.SetMemory(function_address, RPC);
PS3.SetMemory(0x10050000, new byte[0x2854]);
}


How To Activate It
    
To active the RPC just put EnableRPC(); after you connect/attach your ps3


Enjoy!


CCAPI or TMAPI or both
06-30-2015, 02:15 PM #19
Lib.WriteSingle(num7, input); gives me an error

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo