Résolu Problème RPC MW3 :@

Statut
N'est pas ouverte pour d'autres réponses.

MMs R.

Premium
Inscription
24 Avril 2013
Messages
1 541
Réactions
621
Points
18 329
RGCoins
25
Hellooo

Voilà sa me le fais à chaque fois, j'ai un problème avec le RPC de mw3, je l'installe sur mon tool dans sa classe RPC mais une fois que je connecte mon tool en CEX le tool ne marche plus mais en dex il marche :(

Si quelqu'un c'est pourquoi sa fait sa, il peut m'aider svp :)

Merci <3

MMs | RouGe76
 
Hellooo

Voilà sa me le fais à chaque fois, j'ai un problème avec le RPC de mw3, je l'installe sur mon tool dans sa classe RPC mais une fois que je connecte mon tool en CEX le tool ne marche plus mais en dex il marche :(

Si quelqu'un c'est pourquoi sa fait sa, il peut m'aider svp :)

Merci <3

MMs | RouGe76
salut , ton RPC fait CEX / DEX ?
tu veut que j'essaye de te passer le mien ?
 
public static class RPC
{
#region RPC
public static void EnableRPC()
{
PS3.SetMemory(0x523B10, new byte[2175]);
PS3.SetMemory(0x18BE6C, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x3BC9CC, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x18BE74, new byte[] { 0x48, 0x00, 0x00, 0x68 });
PS3.SetMemory(0x1DB1244, new byte[4]);
PS3.SetMemory(0x114AE64, new byte[4]);
PS3.SetMemory(0x3BC9E4, new byte[] { 0x41, 0x82, 0x02, 0x20, 0x3D, 0x00, 0x00, 0x52, 0x80, 0x68, 0x3B, 0x10, 0x80, 0x88, 0x3B, 0x14, 0x80, 0xA8, 0x3B, 0x18, 0x80, 0xC8, 0x3B, 0x1C, 0x80, 0xE8, 0x3B, 0x20, 0x39, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1D, 0x3C, 0x80, 0x01, 0x15, 0x90, 0x64, 0xAE, 0x64, 0x38, 0x80, 0x00, 0x00, 0x3C, 0x60, 0x01, 0xDB, 0x90, 0x83, 0x12, 0x44, 0x48, 0x00, 0x01, 0xE8, 0x4E, 0x80, 0x00, 0x20, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 });
}
public static void GetMemoryR(uint Address, ref byte[] Bytes)
{
PS3.GetMemory(Address, Bytes);
}
public static uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
GetMemoryR(addr, ref check);
if (check[0] == 0x00)
break;
if (i == 4)
{
i = 0; break;
}
}
addr = (0x523B30 + (i * 0x68));
PS3.SetMemory(addr, new byte[0x68]);
PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
return addr;
}
public static void CallFunction(uint func_addr, uint param1 = 0, uint param2 = 0, uint param3 = 0, uint param4 = 0, uint param5 = 0)
{
byte[] par1 = BitConverter.GetBytes(param1);
byte[] par2 = BitConverter.GetBytes(param2);
byte[] par3 = BitConverter.GetBytes(param3);
byte[] par4 = BitConverter.GetBytes(param4);
byte[] par5 = BitConverter.GetBytes(param5);
Array.Reverse(par1);
Array.Reverse(par2);
Array.Reverse(par3);
Array.Reverse(par4);
Array.Reverse(par5);
PS3.SetMemory(0x523B10, par1);
PS3.SetMemory(0x523B14, par2);
PS3.SetMemory(0x523B18, par3);
PS3.SetMemory(0x523B1C, par4);
PS3.SetMemory(0x523B20, par5);
PS3.SetMemory(0x3BCA04, MakeBl(0x3BCA04, func_addr));
PS3.SetMemory(0x1DB1244, new byte[] { 0x00, 0x00, 0x00, 0x01 });
}
public static uint GetFuncReturn()
{
byte[] ret = new byte[4];
GetMemoryR(0x114AE64, ref ret);
Array.Reverse(ret);
return BitConverter.ToUInt32(ret, 0);
}
public static byte[] MakeBl(uint callAddr, uint addrToBlTo)
{
byte[] instruction = new byte[4];
uint addr_t = (uint)(((int)addrToBlTo - (int)callAddr) + 1);
if ((int)addrToBlTo > (int)callAddr) instruction[3] = 0x48;
else
{
instruction[3] = 0x4B; addr_t = (uint)(0x1000000 - ((int)callAddr - (int)addrToBlTo) + 1);
}
byte[] addr = BitConverter.GetBytes(addr_t);
for (int i = 0; i < 3; i++)
{
instruction = addr;
}
Array.Reverse(instruction);
return instruction;
}
#endregion
Crédits : Mrniato .
Apres il te reste a faire tes fonction :)
dans le attach : RPC_Enable_124();
 
public static class RPC
{
#region RPC
public static void EnableRPC()
{
PS3.SetMemory(0x523B10, new byte[2175]);
PS3.SetMemory(0x18BE6C, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x3BC9CC, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x18BE74, new byte[] { 0x48, 0x00, 0x00, 0x68 });
PS3.SetMemory(0x1DB1244, new byte[4]);
PS3.SetMemory(0x114AE64, new byte[4]);
PS3.SetMemory(0x3BC9E4, new byte[] { 0x41, 0x82, 0x02, 0x20, 0x3D, 0x00, 0x00, 0x52, 0x80, 0x68, 0x3B, 0x10, 0x80, 0x88, 0x3B, 0x14, 0x80, 0xA8, 0x3B, 0x18, 0x80, 0xC8, 0x3B, 0x1C, 0x80, 0xE8, 0x3B, 0x20, 0x39, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1D, 0x3C, 0x80, 0x01, 0x15, 0x90, 0x64, 0xAE, 0x64, 0x38, 0x80, 0x00, 0x00, 0x3C, 0x60, 0x01, 0xDB, 0x90, 0x83, 0x12, 0x44, 0x48, 0x00, 0x01, 0xE8, 0x4E, 0x80, 0x00, 0x20, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 });
}
public static void GetMemoryR(uint Address, ref byte[] Bytes)
{
PS3.GetMemory(Address, Bytes);
}
public static uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
GetMemoryR(addr, ref check);
if (check[0] == 0x00)
break;
if (i == 4)
{
i = 0; break;
}
}
addr = (0x523B30 + (i * 0x68));
PS3.SetMemory(addr, new byte[0x68]);
PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
return addr;
}
public static void CallFunction(uint func_addr, uint param1 = 0, uint param2 = 0, uint param3 = 0, uint param4 = 0, uint param5 = 0)
{
byte[] par1 = BitConverter.GetBytes(param1);
byte[] par2 = BitConverter.GetBytes(param2);
byte[] par3 = BitConverter.GetBytes(param3);
byte[] par4 = BitConverter.GetBytes(param4);
byte[] par5 = BitConverter.GetBytes(param5);
Array.Reverse(par1);
Array.Reverse(par2);
Array.Reverse(par3);
Array.Reverse(par4);
Array.Reverse(par5);
PS3.SetMemory(0x523B10, par1);
PS3.SetMemory(0x523B14, par2);
PS3.SetMemory(0x523B18, par3);
PS3.SetMemory(0x523B1C, par4);
PS3.SetMemory(0x523B20, par5);
PS3.SetMemory(0x3BCA04, MakeBl(0x3BCA04, func_addr));
PS3.SetMemory(0x1DB1244, new byte[] { 0x00, 0x00, 0x00, 0x01 });
}
public static uint GetFuncReturn()
{
byte[] ret = new byte[4];
GetMemoryR(0x114AE64, ref ret);
Array.Reverse(ret);
return BitConverter.ToUInt32(ret, 0);
}
public static byte[] MakeBl(uint callAddr, uint addrToBlTo)
{
byte[] instruction = new byte[4];
uint addr_t = (uint)(((int)addrToBlTo - (int)callAddr) + 1);
if ((int)addrToBlTo > (int)callAddr) instruction[3] = 0x48;
else
{
instruction[3] = 0x4B; addr_t = (uint)(0x1000000 - ((int)callAddr - (int)addrToBlTo) + 1);
}
byte[] addr = BitConverter.GetBytes(addr_t);
for (int i = 0; i < 3; i++)
{
instruction = addr;
}
Array.Reverse(instruction);
return instruction;
}
#endregion
Crédits : Mrniato .
Apres il te reste a faire tes fonction :)
dans le attach : RPC_Enable_124();
Même avec se RPC sa ne marche pas ...

C'est peut être le codage de connection ?
 
public static class RPC
{
#region RPC
public static void EnableRPC()
{
PS3.SetMemory(0x523B10, new byte[2175]);
PS3.SetMemory(0x18BE6C, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x3BC9CC, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x18BE74, new byte[] { 0x48, 0x00, 0x00, 0x68 });
PS3.SetMemory(0x1DB1244, new byte[4]);
PS3.SetMemory(0x114AE64, new byte[4]);
PS3.SetMemory(0x3BC9E4, new byte[] { 0x41, 0x82, 0x02, 0x20, 0x3D, 0x00, 0x00, 0x52, 0x80, 0x68, 0x3B, 0x10, 0x80, 0x88, 0x3B, 0x14, 0x80, 0xA8, 0x3B, 0x18, 0x80, 0xC8, 0x3B, 0x1C, 0x80, 0xE8, 0x3B, 0x20, 0x39, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1D, 0x3C, 0x80, 0x01, 0x15, 0x90, 0x64, 0xAE, 0x64, 0x38, 0x80, 0x00, 0x00, 0x3C, 0x60, 0x01, 0xDB, 0x90, 0x83, 0x12, 0x44, 0x48, 0x00, 0x01, 0xE8, 0x4E, 0x80, 0x00, 0x20, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 });
}
public static void GetMemoryR(uint Address, ref byte[] Bytes)
{
PS3.GetMemory(Address, Bytes);
}
public static uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
GetMemoryR(addr, ref check);
if (check[0] == 0x00)
break;
if (i == 4)
{
i = 0; break;
}
}
addr = (0x523B30 + (i * 0x68));
PS3.SetMemory(addr, new byte[0x68]);
PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
return addr;
}
public static void CallFunction(uint func_addr, uint param1 = 0, uint param2 = 0, uint param3 = 0, uint param4 = 0, uint param5 = 0)
{
byte[] par1 = BitConverter.GetBytes(param1);
byte[] par2 = BitConverter.GetBytes(param2);
byte[] par3 = BitConverter.GetBytes(param3);
byte[] par4 = BitConverter.GetBytes(param4);
byte[] par5 = BitConverter.GetBytes(param5);
Array.Reverse(par1);
Array.Reverse(par2);
Array.Reverse(par3);
Array.Reverse(par4);
Array.Reverse(par5);
PS3.SetMemory(0x523B10, par1);
PS3.SetMemory(0x523B14, par2);
PS3.SetMemory(0x523B18, par3);
PS3.SetMemory(0x523B1C, par4);
PS3.SetMemory(0x523B20, par5);
PS3.SetMemory(0x3BCA04, MakeBl(0x3BCA04, func_addr));
PS3.SetMemory(0x1DB1244, new byte[] { 0x00, 0x00, 0x00, 0x01 });
}
public static uint GetFuncReturn()
{
byte[] ret = new byte[4];
GetMemoryR(0x114AE64, ref ret);
Array.Reverse(ret);
return BitConverter.ToUInt32(ret, 0);
}
public static byte[] MakeBl(uint callAddr, uint addrToBlTo)
{
byte[] instruction = new byte[4];
uint addr_t = (uint)(((int)addrToBlTo - (int)callAddr) + 1);
if ((int)addrToBlTo > (int)callAddr) instruction[3] = 0x48;
else
{
instruction[3] = 0x4B; addr_t = (uint)(0x1000000 - ((int)callAddr - (int)addrToBlTo) + 1);
}
byte[] addr = BitConverter.GetBytes(addr_t);
for (int i = 0; i < 3; i++)
{
instruction = addr;
}
Array.Reverse(instruction);
return instruction;
}
#endregion
Crédits : Mrniato .
Apres il te reste a faire tes fonction :)
dans le attach : RPC_Enable_124();
Non c'est le RPC qui va pas quand je met se code dans attach : RPC_Enable_124(); y a que le RPC qui ne fonctionne pas
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut