Basic UE4 Win64 Base Table

Upload *YOUR* gamehacking tools/helpers here
Post Reply
User avatar
Cake-san
Table Makers
Table Makers
Posts: 322
Joined: Sun Mar 26, 2017 4:32 pm
Reputation: 431

Basic UE4 Win64 Base Table

Post by Cake-san »

Made this table for learning purpose and to ease the making of cheat table for UE4 Win64 based game...

Prerequisite: Basic Lua programming knowledge & OOP data structure knowledge & Table making knowledge...


Features:
- Create structure dissect from UE4 class object
- Basic UE4 Object Dumper
- Example scripts & pointers

[Troubleshooting]

run dissect code & wait until finished then you can search for Referenced strings
you can also Save DissectCode after it had finished so, you can Load it when you want to use it again...

- StaticFindObject aob not found... - search for "Illegal call to StaticFindObject()" (without the quote)

- UObjectArray aob not found... - search for "UObject serial numbers overflowed" (without the quote)
Note: most of the time this function(FUObjectArray::AllocateSerialNumber) is being called by FWeakObjectPtr::operator= (which handle static/base address of UObjectArray) but for rare cases, it handle that address by its own...

- GetFullName aob not found... - search for "This platform requires cooked" (without the quote) -error code in range of: 0x572,0x59D,0x20D,0xF2,1CB, 0x715,0x740,0x8A,0x20F,0x13F,1DA(not the smallest nor the biggest, more on middle value,maybe)
Note: A little above the result there's a call & it might be GetFullName function
Note: Inside GetFullName there is a Function FName:AppendString (2nd or 3rd or 4rd call) & inside of that Function contain a function that handle static/base address of FNamePool...

- Game Crashed while activating script - comment out all 'createThread(ue4createstruct' , then you have to find out if all function & parent/child offset is valid...

Note: Example script will only work if game use generic variable else you have to make your own script...

Credits:
-CheatingMuppet - Satisfactory table & UE4 insight
-happyTugs - GNames & GObject Dumper for UE3 table
-Corrm - Unreal Finder Tool
-Fearless & CE forum , Tool Creators & Communities


Update 1
-Fix AOB part for ue4.18 & ue4.25
Update 2
-Add more AOB for ue4.25
-ue4.25 dumping also include property inside Function

Image
Attachments
Win64-Shipping.CT
Update 2
(37.79 KiB) Downloaded 142 times

grbras
Noobzor
Noobzor
Posts: 9
Joined: Thu Jul 16, 2020 4:03 pm
Reputation: 5

Re: Basic UE4 Win64 Base Table

Post by grbras »

First of all, this is nicelly done, and it could convert into a full sdk generator. So thank you for your effort, and i hope to see more from this.

Second, those structs are hand made and saved on the ctable "Win64-Shipping.CT", or are you generating them on the fly?

User avatar
Cake-san
Table Makers
Table Makers
Posts: 322
Joined: Sun Mar 26, 2017 4:32 pm
Reputation: 431

Re: Basic UE4 Win64 Base Table

Post by Cake-san »

Unreal Engine Algorithm version
Made this because I can't find a dumper that can dump the game I'm playing...

Features
- Added support for some UE4 32 bit based game... (I only have 1 game,lol, so can't test much)
- Added support for some UE3 based game... ( I only have 2 games for this engine version, so you need to configure it before use, if its offset is different...)
- Added FName dumper
- Added Tools -> makeshift FNamePool scanner script

Pros
- Stable & doesn't crash much & compatible with many games...

Cons
- 2.5x times slower than calling function...
- Inaccurate for some games...

Update 1
- Fixed a typo that made the script unable to dump property for >=25 version
- Fixed StaticFindObjectAlgo script to find object more accurately...
Sorry, for the inconvenience...

Update 2
-Performance update... cache & more caching & multi threading... first time dump is 0.5 slower than calling one but after that 2x times faster than calling one...
-fixed ue4determineversion() script...

Update 3
- FNameStringAlgo now distinguished between utf-16 or utf-8 fname on ue4
- createstruct will now add 4 bytes placeholder for unknown offset
Attachments
Win-Shipping.CT
Algorithm version update 3
(53 KiB) Downloaded 55 times

ctl3d32
Table Makers
Table Makers
Posts: 42
Joined: Sun Nov 24, 2019 7:05 am
Reputation: 80

Re: Basic UE4 Win64 Base Table

Post by ctl3d32 »

Nice Tool. It already helped me a lot. Keep the good work!

jgoemat
Table Makers
Table Makers
Posts: 38
Joined: Fri Jul 21, 2017 6:47 pm
Reputation: 37

Re: Basic UE4 Win64 Base Table

Post by jgoemat »

This seems very interesting, but I don't know how to use it or what games to use it on. Could someone post an example? Something like "I hook into Batman: Arkham Asylum (which is a UE4 game I think), expand the 'UE4 entry, and click on 'Basic UE Object dumper'. Then I see there's a class called 'Script/Batmobile' and I click on X and do Y and now it's invulnerable." Or not even a full cheat, but how this would be used to dissect a structure you found a pointer to some other way. Can it tell what type you are pointing to and provide the structure? Do you just have to click those two things for that to happen automatically, or do you have to do something else?

Thanks!

User avatar
Cake-san
Table Makers
Table Makers
Posts: 322
Joined: Sun Mar 26, 2017 4:32 pm
Reputation: 431

Re: Basic UE4 Win64 Base Table

Post by Cake-san »

Basic:
If you know OOP you should be able to understand this...
Image


Interesting variables will most likely be inside PlayerController.Character/.Pawn or GameInstance depending on what you want & where dev put that stuff...
Image

Code: Select all

function ue4createstruct(fullnameOrAddress,name,depth,isfullname)
function uecreatestruct(instance,name,depth,isfullname)
depth is how far you want the struct to be which is 0 if you dont want to include parent/super class's member or vice versa...

Image

When struct had been created, you can use its symbol...
Image

You can look into my latest UE based table for reference

Post Reply

Who is online

Users browsing this forum: No registered users