Category PS4 CFW and Hacks       Thread starter PSXHAX       Start date Apr 10, 2019 at 7:51 AM       3,190       10            
Following his previous updates, developer @CMTFrosty (Twitter) made available both a Call of Duty: Advanced Warfare MenuBase 1.23 with source code alongside a video demonstration from his YouTube Channel of it in action for those with a jailbroken PS4 5.05 console.

He credits golden for helping with a Ghosts fix stating that a Ghosts menubase is also coming soon! :ninja:

From the AdvancedWarfare_MenuBase

MenuBase for Advanced Warfare 1.23 for PS4 5.05 Compile with make command on ubuntu. Inject .elf with elf loader (JKPatch)

[PS4 5.05/AW 1.23] Menu Base + Source
Also below are some PS4 WW2 1.11 Huds for those interested, from
// all found by me, John - with some help from

#pragma pack(push, 1)
struct HudElement {
   char padding_0[0x04]; // 0x0
   uint32_t font; // 0x4
   uint32_t alignOrg; // 0x8
   uint32_t alignScreen; // 0xc
   float x; // 10
   float y; // 14
   float z; // 18
   uint32_t type; // 0x1c
   float fontScale; // 0x20
   char padding_1[0x0C]; // 0x24
   union {
       uint32_t argb;
       struct { uint8_t a, r, g, b; };
   } argb; // 0x30
   char padding_2[0x10]; // 0x34
   uint32_t width; // 0x44
   uint32_t height; // 0x48
   uint32_t material; // 0x4c
   char padding_3[0x10]; // 0x50
   uint32_t fromWidth; // 0x60
   uint32_t fromHeight; // 0x64
   uint32_t scaleStartTime; // 0x68
   uint32_t scaleTime; // 0x6c
   float fromX; // 0x70
   float fromY; // 0x74
   uint32_t fromAlignOrg; // 0x78
   uint32_t fromAlignScreen; // 0x7c
   uint32_t moveStartTime; // 0x80
   uint32_t moveTime; // 0x84
   uint32_t time; // 0x88
   uint32_t duration; // 0x8c
   float value; // 0x90
   uint32_t localizeStringIndex; // 0x94
   char padding_5[0x24]; // 0x98
   uint32_t index; // 0xbc
   char padding_6[0x01]; // 0xc0
   char visibility; // 0xc1
   char padding_7[0x0E]; // 0xc2
#pragma pack(pop)

HudElement* HudElemAlloc(uint32_t client, uint32_t team) {
   return ((HudElement * (*)(uint32_t, uint32_t, uint32_t))0xD6DF30)(client, team, 0);

uint32_t G_FindConfigstringIndex(const char *p0, uint64_t p1, uint32_t p2, int32_t p3, const char *p4) {
   return ((uint32_t(*)(const char *, uint64_t, uint32_t, int32_t, const char *))0x917430)(p0, p1, p2, p3, p4);

uint32_t G_LocalizedStringIndex(const char* text) {
   return G_FindConfigstringIndex(text, 570, 0x28A, 1, "localized string");

uint32_t G_MaterialIndex(const char* material) {
   return G_FindConfigstringIndex(material, 4472, 0x1FF, *(int32_t *)0xC472750, "material");

HudElement* spawnHudElem(uint32_t client, float x, float y, uint32_t rgba) {
   HudElement* hud = HudElemAlloc(client, 0);

   hud->alignOrg = 0x04;
   hud->alignScreen = 0x98;
   hud->x = x;
   hud->y = y;
   hud->argb.argb = __builtin_bswap32(rgba);
   hud->visibility = 0x01;

   return hud;

HudElement *spawnText(uint32_t client, float x, float y, uint32_t rgba, const char *text, uint32_t font, float fontScale) {
   HudElement* hud = spawnHudElem(client, x, y, rgba);

   hud->type = 0x01;
   hud->font = font;
   hud->fontScale = fontScale;
   hud->localizeStringIndex = G_LocalizedStringIndex(text);

   return hud;

HudElement *spawnShader(uint32_t client, float x, float y, uint32_t rgba, const char *material, uint16_t width, uint16_t height) {
   HudElement* hud = spawnHudElem(client, x, y, rgba);

   hud->type = 0x04;
   hud->width = width;
   hud->height = height;
   hud->material = G_MaterialIndex(material);

   return hud;

uint32_t getLevelTime() {
   return *(uint32_t *)(0xC472D60 + 0x04);

void scaleOverTime(HudElement* hud, char useconds, uint16_t width, uint16_t height) {
   hud->fromHeight = hud->height;
   hud->fromWidth = hud->width;
   hud->scaleStartTime = getLevelTime();
   hud->scaleTime = useconds;
   hud->height = height;
   hud->width = width;
void moveOverTime(HudElement* hud, char useconds, float x, float y) {
   hud->fromX = hud->x;
   hud->fromY = hud->y;
   hud->moveStartTime = getLevelTime();
   hud->moveTime = useconds;
   hud->x = x;
   hud->y = y;
Cheers to @DEFAULTDNB for the heads-up of this news on Twitter earlier on! :beer:
PS4 5.05  AW 1.23 Menu Base with Source Code via CMTFrosty.jpg



@DeathRGH that's where you are wrong kiddo.

My library not only auto loads all you need to do is load up the browser it has ftp and hen loaded with it. It's really simple to add multiple things into one payload.

My visual studio project actually when built auto signs and copies sprx modules to the hdd. Modules can be loaded from anywhere and can be built with the Sony compiler avoiding manually linking dependencies.

I also do not see what you mean by limitations of the library it is code execution from a modules sandbox. Anything done in an elf that's loaded to the same sandbox would work. I've even added the little notify pop up in my test sprx.

Recent Articles
Some of the PlayStation 4 E3 2019 PS4 Trailer Videos!
We've seen a Watch Dogs: Legion PS4, Marvel Avengers: A-Day PS4 and some Final Fantasy VIII Remastered & Final Fantasy VII Remake PS4 videos from E3 2019, and below are several more PlayStation 4...
Crash Team Racing: Nitro-Fueled Races to PS4 Next Week
CTR racers on your mark, get set, go... as Crash Team Racing: Nitro-Fueled speeds onto PlayStation 4 next week. šŸŽ šŸ Get ready to go fur-throttle in the fully-remastered and revved up to the max...
TurboGrafx-16 Mini, PC Engine Mini & PC Engine CoreGrafx Mini by Konami
A few months back we covered the Sega Genesis Mini reveal, and during E3 2019 Konami announced a TurboGrafx-16 Mini, PC Engine Mini and PC Engine CoreGrafx Mini on their official site for...
PS4 Firmware / System Software 6.80 Preview Program PUP and Features
As reported earlier this month, since their recent 6.71 PS4 OFW Update those enrolled in Sony's PlayStation Preview Program can now download and install the PS4 Firmware / System Software 6.80...