public class PS3 {
public static uint ProcessID;
public static uint[] ProcessIDs;
public static void SetMemory(uint Address, byte[] Bytes)
{
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, Bytes);
}
public static void GetMemory(uint Address, ref byte[] Bytes)
{
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, ref Bytes);
}
public static void Connect()
{
PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);
}
public static void Attach()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);
}
}
public class HElems
{
public static uint //CREDITS: xSonoro <3 <--Da Bes♥
type = 0x6D,
xOffset = 0x00,
yOffset = 0x04,
textOffset = 0x62,
sort = 32,
fontSizeOffset = 0x0C,
clientOffset = 0x7C,
colorOffset = 0x18,
GlowColor = 0x1c,
widthOffset = 0x58,
heightOffset = 0x5A,
shaderOffset = 0x74,
Material = 0x71;
}
public class HUDS
{
public static byte[] SetTextGhetto(string Text)
{
// 0x27562c = stringer
byte[] clean = new byte[250];
PS3.SetMemory(0x2000000, clean);
PS3.SetMemory(0x2000000, Encoding.ASCII.GetBytes(Text + "\0"));
byte[] BLP = new byte[] { 0x3C, 0x60, 0x02, 0x00, 0x30, 0x63, 0x00, 0x00, 0x4B, 0xED, 0xE8, 0xE1, 0x3C, 0x80, 0x02, 0x00, 0x90, 0x64, 0x50, 0x00, 0x48, 0x00, 0x00, 0x6C, 0xFC, 0x20, 0xF8, 0x90, 0x4B, 0xFD, 0x80, 0x79 };
byte[] ORG = new byte[] { 0x41, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x00, 0x39, 0x38, 0x80, 0x00, 0x00, 0x3B, 0xE3, 0x67, 0x3C, 0x63, 0x43, 0x00, 0x00, 0xC3, 0xFF, 0x00, 0x08, 0xFC, 0x20, 0xF8, 0x90, 0x4B, 0xFD, 0x80, 0x79, };
PS3.SetMemory(0x396d44, BLP);
System.Threading.Thread.Sleep(15);
PS3.SetMemory(0x396d44, ORG);
byte[] GetX = new byte[4];
PS3.GetMemory(0x2005000, ref GetX);
return GetX;
}
public static byte[] uintBytes(uint input)
{
byte[] data = BitConverter.GetBytes(input);
Array.Reverse(data);
return data;
}
class MenuItems
{
public static uint Shader = 0, ScrollBarBackGround = 1;
}
public static byte[] ReverseBytes(byte[] inArray)
{
Array.Reverse(inArray);
return inArray;
}
public static byte[] ToHexFloat(float Axis)
{
byte[] bytes = BitConverter.GetBytes(Axis);
Array.Reverse(bytes);
return bytes;
}
public static byte[] RGBA(decimal R, decimal G, decimal B, decimal A)
{
byte[] RGBA = new byte[4];
byte[] RVal = BitConverter.GetBytes(Convert.ToInt32(R));
byte[] GVal = BitConverter.GetBytes(Convert.ToInt32(G));
byte[] BVal = BitConverter.GetBytes(Convert.ToInt32(B));
byte[] AVal = BitConverter.GetBytes(Convert.ToInt32(A));
RGBA[0] = RVal[0];
RGBA[1] = GVal[0];
RGBA[2] = BVal[0];
RGBA[3] = AVal[0];
return RGBA;
}
public static void StoreIcon(int elemIndex, uint client, int shader, int width, int height, int x, int y, uint align, float sort, int r, int g, int b, int a)
{
byte[] Material_ = BitConverter.GetBytes(shader);
Array.Reverse(Material_);
byte[] Height_ = BitConverter.GetBytes(Convert.ToInt32(height));
Array.Resize(ref Height_, 2);
Array.Reverse(Height_);
byte[] width_ = BitConverter.GetBytes(Convert.ToInt32(width));
Array.Resize(ref width_, 2);
Array.Reverse(width_);
uint elem = 0x15d5300 + ((Convert.ToUInt32(elemIndex)) * 0x8
;
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(client));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + HElems.type, ReverseBytes(BitConverter.GetBytes(
));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + HElems.Material, Material_);
PS3.SetMemory(elem + HElems.heightOffset, Height_);
PS3.SetMemory(elem + HElems.widthOffset, width_);
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
System.Threading.Thread.Sleep(20);
}
public static void StoreTextElem(int elemIndex, int client, string text, int font, int fontScale, int x, int y, uint align, int sort, int r, int g, int b, int a, decimal r1, decimal g1, decimal b1, decimal a1)
{
string setText = text + "\0";
byte[] TextIndex = SetTextGhetto(setText);
uint elem = 0x15d5300 + ((Convert.ToUInt32(elemIndex)) * 0x8
;
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client)));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + HElems.type, ReverseBytes(BitConverter.GetBytes(1)));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + HElems.textOffset, TextIndex);
PS3.SetMemory(elem + HElems.fontSizeOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToSingle(font))));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.GlowColor, RGBA(r1, g1, b1, a1));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
System.Threading.Thread.Sleep(20);
}
public static void MoveShader(uint index, int X_, int Y_, float TextSize_)
{
byte[] X = new byte[4];
byte[] Y = new byte[4];
byte[] TextSize = new byte[4];
X = BitConverter.GetBytes(Convert.ToSingle(X_));
Y = BitConverter.GetBytes(Convert.ToSingle(Y_));
TextSize = BitConverter.GetBytes(Convert.ToSingle(TextSize_));
byte[] Width = new byte[4];
byte[] Height = new byte[4];
Array.Reverse(X);
Array.Reverse(Y);
Array.Reverse(TextSize);
PS3.SetMemory(0x15d5300 + (index * 0x8
+ 0, X);
PS3.SetMemory(0x15d5300 + (index * 0x8
+ 4, Y);
PS3.SetMemory(0x15d5300 + (index * 0x8
+ 12, TextSize);
}
public static void DestroyElem(int index)
{
uint elem = 0x15d5300 + ((Convert.ToUInt32(index)) * 0x8
;
PS3.SetMemory(elem, new byte[0x88]);
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.