Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
PS4 CFW and Hacks       Thread starter PSXHAX       Start date Sep 21, 2020 at 12:15 AM       110      
Status
Not open for further replies.
Earlier this month @2much4u (Twitter) shared a GTA V Native Caller PS4 Port to GTA 1.32 WIP Pack via @Andrew Marques (Twitter), and today he extended the invitation to anyone else interested in finishing his work-in-progress (WIP) for Grand Theft Auto V PS4 scene fans. :geek:

Download: PS4-GTA-V-Native-Caller.bin (1 MB - US) / PS4-GTA-V-Native-Caller.bin (1 MB - EU - Crashes) / PS4-GTA-V-Native-Caller.zip (515 KB - WIP Pack) / PS4-GTA-V-Menu-Base-6.72-1.00.zip / ArabicGuy-1.0-6.72-1.32.zip via cspencer49519 (GraFfiX49519) / PS4 GTA V Native Caller GIT / PS4-GTA-V-Menu-Base-6.72-1.00.zip via Mustafa0436 / PS4 GTA V Menu Base GIT / ArabicGuy.rar (60 KB - 1.27 bin) / ArabicGuy-1.0-132.bin.zip (70 KB - 1.32 bin) / GTA ArabicGuy Menu.zip (201 KB - includes ArabicGuy100.bin, ArabicGuy127.bin and ArabicGuy132.bin) / Lamance_672_132_.bin (1.02 MB - Lamance Menu v0.8 for 1.32 on PS4 6.72) via david1337hax / Lamance_672_132_fixed.bin (1.02 MB - Lamance Menu v0.8.1 for 1.32 on PS4 6.72) via david1337hax / GTAV Mods 7.02 Ports via @karo218 / BeefQueefMod-672-702-v133.zip (323 KB) / GTAV 75X.zip (7.1 MB - GTAV 75X Payload Ports) / BeefQueefMod-PS4-900-133.zip (165 KB - includes BeefQueefMod-PS4.bin)

From 2much4ux's Tweet below, to quote: "I mostly ported GTA V Native Caller to GTA 1.32, but didn't have time to finish before school hit. I tossed the unfinished source at Andrew a while back. If anyone wants to try to complete it, go for it!"

This latest Grand Theft Auto V pack comes following the previously released GTA V Native Caller, GTA 5 Native Caller Updates, GTA V Menu Base PS4 Mod Menu GUI, more GTA V Native Caller Updates, another GTA V Native Caller / Invoker, GTA V PS4 5.05 LTS Menu Base 1.27 with Native Caller and GTA 5 Mod Menus from earlier this year.

From the README.md: PS4 GTA V Native Caller

A simple example of calling natives on PS4 GTA V using Vortex's adaptation of CTurt's PS4 ***.

Brief Explanation

Purpose


A large part of GTA V is controlled by custom script files Rockstar writes in their own format. A virtual processor is included in each version of the game to interpret these scripts. The main way for them to interact with and control the game is to invoke natives.

Natives are functions defined within the game's executable. In the same way that scripts use natives to control the game, arbitrarily calling them will allow the caller to control the game to his/her desire. The purpose of this payload is to provide an easy way of doing just that. It includes a few small examples: making the player invincible, giving the player super jump, and teleporting the player when a button combination is pressed.

Setting Up Execution

First, a kernel payload is executed to escape the sandbox, escalate the web browser's privileges, and make appropriate kernel patches. The kernel payload also disables ASLR for newly created processes, making it easier to modify them. Afterward, the browser payload constantly checks the running processes waiting for one called eboot.bin.

Once a game process is found, the syscall ptrace is used to read and write to it. With ASLR disabled, the EBOOT always starts at 0x400000 in memory. A few bytes are read from the EBOOT to verify that the game is GTA V and to detect the region. A small function for setting up the execution environment is copied into free executable space in the EBOOT and IS_PLAYER_ONLINE is hooked to call it.

This function allocates more memory within GTA's process since the EBOOT has limited space. Once the setup is complete, the GTA payload is copied into the newly allocated space, the setup function starts executing it, and the browser payload exits.

Executing Inside GTA V

The GTA payload will execute any time the native IS_PLAYER_ONLINE is called by one of Rockstar's scripts. GTA V has a native lookup table that allows for quickly obtaining a native's address from its hash. However, on newer versions of the game, that table is obfuscated. Therefore, this payload calls natives directly by address rather than using the lookup table.

Native functions are the same as they are on the PC version of the game, meaning the documentation on NativeDB can be used. The majority of the code in the GTA payload is filtered to only execute once a frame (IS_PLAYER_ONLINE is called multiple times a frame), in order to keep things smooth. This will be more important for any drawing.

Miscellaneous Notes

Building


The GTA payload is automatically built and included in the browser payload, so you only need to run make in the main directory.

Buttons

An official documentation of button indices is included in gtaPayload/include/types.h, however it uses XBOX names. So, Y is triangle, X is square, etc.

Testing

Since this injects a payload into GTA's process, multiple versions can be tested without having to restart the game. Each instance will replace the previous one, so multiple payloads cannot be run at once.

Credits
  • Specter, CTurt, qwertyoruiopz, flatz, idc, SKFU, droogie, Xerpi, bigboss, Hunger, Takezo, and Proxima - PS4 research making all this possible
  • Alexander Blade and NativeDB Contributors - Native research making GTA V stuff relatively easy to port to PS4
  • EROOTIIK - Obtaining and parsing the vast majority of native addresses
Also from the README.md: LTS Menu Base Port

A simple menu base ported from PS3 LTS Menu using the source.

Credits:

2Much4u and EROOTIK, 2Much4u for the native caller and EROOTIK for everything for 1.27. Oh, and whoever leaked the LTS menu source.

And from the other README.md: PS4 GTA V Menu Base

A mod menu GUI for PS4 GTA V built on top of my native caller.

How to Activate
  • Press DPAD RIGHT + SQUARE
PAY ATTENTION PLEASE!

This mod menu is very unstable and will most likely crash GTA V many times before you get it to work. If you load ArabicGuy first, then close the game. Then load this mod menu, it will work. Also the mod menu will only work with Leeful's HEN

Pictures

GTA V Native Caller PS4 Port to GTA 1.32 WIP Pack by 2much4u 2.jpg GTA V Native Caller PS4 Port to GTA 1.32 WIP Pack by 2much4u 3.jpg GTA V Native Caller PS4 Port to GTA 1.32 WIP Pack by 2much4u 4.jpg GTA V Native Caller PS4 Port to GTA 1.32 WIP Pack by 2much4u 5.jpg
PAY ATTENTION PLEASE!

This mod menu is very unstable and will most likely crash GTA V many times before you get it to work. If you load ArabicGuy first, then close the game. Then load this mod menu, it will work.

Key Features
  • Unlimited submenus
  • Unlimited options
  • Option & submenu remembrance
  • Auto adjusting and scrolling background
  • Full customization
  • Simple keyboard input and handling
  • Support for numerous dynamic option types
  • Button instructions display
  • Example options and vehicle spawner
Notes

While the example submenus showcase much of the menu base's functionality, more is possible. Check out menu.cpp for all supported option types.

Menu::vehicleSpawn and Menu::vehicleToSpawn are only for the example vehicleSpawner submenu and are unnecessary to the overall menu base.

The UI is fairly simple and open to more advanced customization such as the addition of sprites.

Spoiler: Related Tweets / Videos

GTA V Native Caller PS4 Port to GTA 1.32 WIP Pack by 2much4u.jpg
 

Comments

@GraFfiX420 Well ArabicGuy is loading fine, the game don't crash or anything but there is no menu ? I think we open the menu with R1 + L1. But nothing happens.

The other 2 is giving the message "Please Launch GTA" and then after starting the game, it goes in black screen. Maybe you or somebody else can fix it? I'll keep going on until i have a full functional mod menu.

BTW these mods was for 5.05 before, but i figured out that it will work if you change -mcmodel=large to =small in makefile, and of course change the offsets to 6.72
 
@Mustafa0436
ive been testing for ver 1.27, mira unoffical exploit menu, i send the bin file it asks to load gta, i load gta and it fails to detect gta version and gta load freeze, but if i press the ps button go to notifications i can then get back to home screen and gta app is closed and the ps4 runs fine, but if i press ps button and try to close gta it hangs the ps4 and have to hard reset

i think the problem is when its attaching or detecting version in the eboot, if if i bypass version check gta still freezes at the attaching point on load ??

i have a putty log file if its any good to you i dont know what im looking for in it
 
@Mustafa0436 OK, I'm assuming once native caller is fully working then you would just take the source and gtaPayload directories, copy them to the mod menu directory and overwrite, and then compile? Or is there more work to be done on the mod menus themselves?
 
@GraFfiX420. Well the thing is : When i port the mods, i first get the source/mod in decompiled format for version 5.05. Then i change the offsets as the first thing. Then i open Makefile in text editor / Notepad, and then i change the command " -mcmodel=large " to "-mcmodel=small" or "-mcmodel=medium".

Well after that, i just compile it and then i get the results as you guys got from those files in (So far so good.zip). ArabicGuy is the only one to not crash the game by doing all this.

@kevambert I don't think it is the detector that is failing. I guess it is because the version isn't matching with 1.00 since you tested it out on 1.27. But give it a shot, maybe you could change something ;)

BTW guys. Here i ported both Basemenu and Nativecaller for GTA V 1.27 to 6.72. Here we go again: BaseMenu&NativeCaller 6.72 - 1.27.zip (497 KB)
 
@Mustafa0436 I worked with this a little more tonight. I was able to compile your examples, and I did indeed get the "now start gta" prompt, but no luck in the setup, so nothing happens when the game is launched. I also incorporated the other ptrace check with:
Code:
memcpy((void *)(ptrKernel + 0x10FD22), "\xE9\xE2\x02\x00\x00", 5);
But still no love. I am kind of just shooting in the dark here, though. The only changes it looks like AlfaModz made are in the Makefile, but there are a lot of changes outside of just mcmodel.

I should also add I'm using CUSA0411, the EU version of the game. I do have the US version, I was just using this version as it's the only one that has working cheats on 6.72.

@Mustafa0436 I just spent some time looking at the ps4 ksdk, I think I may need to swap this library for libps4 in order for me to get this functioning, maybe you have another solution, though?
 
@GraFfiX420
The base im using is from 2much4u it supports 1.00 and 1.27 it checks which version and loads the values for whichever version it finds, i have it combined with AlfaModz notification fixes
 
Status
Not open for further replies.
Back
Top