![]()
#CUBE WORLD CHEAT ENGINE TABLE CODE#The first parameter is in rdi because upper in the code rcx is moved into rdi, else as you can see LocalPlayer is set to 0x41200000 which is 10.0f in hexadecimal. When your player jump the value is set to 10.0f.Ĭubeworld.exe + 0x9D443 in my case 0x14009D443 If the float located at LocalPlayer + 0x3C is positive the value of the Z axis of the LocalPlayer will increase, else if the value is negative the LocalPlayer will go down. Fortunately when I was looking for fall damage I found another offset, LocalPlayer + 0x3C give the "sum of gravity forces", I explain : So this address seems to be a "copy" of the LocalPlayer.Įven if the first try was not successful it is not a problem, the game need to retrieve the LocalPlayer at many places. Unfortunately when we are trying to modify datas like health the datas are not updated and this has no effect. So to test if we can retrieve the LocalPlayer by hooking this function, we can put a breakpoint at this address and get the value of rdx.Īs you can we successfully retrieve the address of the LocalPlayer, at the offset 0x180 we found the health as expected. Since Cube World is a 圆4 executable, rdx is the second parameter of the function according to 圆4 calling convention and it mean that rdx is an INT64. We can see that the r13 register is set at :Ĭubeworld.exe + 0x2BB969 in my case 0x1402BB969 0x1402BB969 mov r13, rdx #CUBE WORLD CHEAT ENGINE TABLE PRO#Now we just need to find in IDA Pro where the r13 register / player is initialize in the function. We start to look at the instruction we found before which is at :Ĭubeworld.exe + 0x2BEC30 in my case 0x1402BEC30 0x1402BEC23 movss xmm0, dword ptr Ġx1402BEC30 movss dword ptr, xmm0 So we can try to find how the game find the LocalPlayer. Previously we found an instruction which modify our health, with this logic the game need to retrieve the LocalPlayer to modify his health. In my case I had no result with pointer scan, every time I restart the game the formers addresses Look into the game ![]() ![]() #CUBE WORLD CHEAT ENGINE TABLE HOW TO#If you don't know how to use pointer scan with Cheat Engine look at this. Pointer scan is basically brute forcing offsets, I will not explain how it works, this a basic technique and you can find a lot of resources on Google. The first approach when you are trying to find a static way to retrieve the LocalPlayer is to look at pointer scan. There are different techniques to do that like pointer scan, hook. Since the LocalPlayer address or health address are not static addresses we need to find a way to retrieve the LocalPlayer address at every game start. View Website Say "hi" to Zigi - your Slack-based workflow assistant, which pings you only on relevant Jira & GitHub changes, saves time on PRs, and more! Learn more about the DevDojo sponsorship program and see your logo here to get your brand in front of thousands of developers.įinally we got the LocalPlayer and the health address and offset. I choose this instruction because after some investigation this correspond to the fall damage calculation and health decrease. We got what write to the address, as you can see the R13 register contain the address of the LocalPlayer and the offset of the health is 0x180. Now I attach the debugger to see what write to this address.Īfter decrease my health again with fall damage we can see what write to the health address. Next I test the addresses by changing the value and find the good address. Then I decrease my health with fall damage and I re-scan. So the first thing we need to do now is scanning for the health, in my case my character has 128 hp, you should be careful the health in Cube World is represented as float. Then subtract the health address with the health offset we find.Check what write to this address with Cheat Engine.Find the health (Scan then lose life, scan, repeat.).In my opinion the best way to find the LocalPlayer is : Now I guess the best thing to do is to retrieve the LocalPlayer. Now the UI is setup and our cheat is internal. To do that I will use my project and compiled it as an DLL, you can look at the project, everything is setup and you just need to choose if you want to compile it as DLL or EXE. ![]() ![]() The second solution is to create a new window with DirectX 11 and integrate ImGui, the menu will be on an external window but the cheat is still internal. We can try this approach since Cube World use DirectX 11.Īfter trying differents techniques, the hook works but it brokes the Cube World rendering.Īs you can see we cannot use this technique to create our menu. The first thing we need to do is setup a menu for our cheat, the most common technique is to hook DirectX and integrate ImGui to make our menu. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |