QuestionTrove Resources

Posts 1–4 of 4 · Page 1 of 1
Trove Resources
Hi

This is a Informational and question thread

So i've only recently started on a C++ based Trove Internal.

and was wondering why everyone is using Cheat Engine instead of reversing classes and structs.

I've reversed this currently:
and was wondering if anyone knew any other values or interesting things this "class" holds, and if im even doing it correctly.
Or any information on values / ways to get new classes/structs more easily than inputting values in a scanner and manually reversing them?

Code:
class Player
{
public:
    char pad_0000[952]; //0x0000
    int32_t CurrentHealth; //0x03B8
    char pad_03BC[4]; //0x03BC
    int32_t MaxHealth; //0x03C0
    char pad_03C4[124]; //0x03C4
}; //Size: 0x0440
And also, does anyone know why the codebase/sdk is so weird, it doesn't seem to be coded normally or following any type of C++ norm, even though its coded using C++?
Like the pointers dont point to their own vtables so you have to jump through hoops to get values?
It confuses me a bit...

Signatures that were very easy to find:
They should be the signatures for their designated pointer?

local player signature in ida style:
Code:
8B 1D ? ? ? ? 8B 4B ? 8B 7B ? 85 C9 74 ? 8B 01 FF 50 ? 89 7B ? 85 FF 74 ? 8B 07 8B CF FF 50 ? 8B CE E8 ? ? ? ? C6 86
world signature in ida style:
Code:
8B 0D ? ? ? ? 68 ? ? ? ? 89 7C 24 ? E8 ? ? ? ? 8B C8
ChatState signature in ida style:
Code:
8B 0D ? ? ? ? 50 6A ? E8 ? ? ? ? 8D 44 24 ? 50 68 ? ? ? ? 8D 8C 24
Settings signature in ida style:
Code:
A1 ? ? ? ? 83 C0 ? C7 44 24 ? ? ? ? ? 89 44 24 ? 8D 44 24 ? 50 51 8D 4C 24 ? C7 44 24 ? ? ? ? ? E8 ? ? ? ? FF 74 24 ? 33 D2 8D 4C 24 ? E8 ? ? ? ? 83 C4 ? 8D 4C 24 ? FF 74 24 ? FF 74 24 ? E8 ? ? ? ? 5E 8B E5 5D C3 CC CC CC 55

Thanks.



I think that using cheat engine is easy to use and the game use a lot of multi level pointer, all pointers to values I have seen are multi level ones
And yes those are signature for their designated pointer
Quote Originally Posted by truyvietnam View Post
I think that using cheat engine is easy to use and the game use a lot of multi level pointer, all pointers to values I have seen are multi level ones
And yes those are signature for their designated pointer
Hmmm, Ok Thanks alot.


Would you be able share any information on how you would get "invisible" values like ViewMatrix, ViewOrigin/ Camera origin?

Can't seem to find any information on those / how to actually get them.

Already got an entity list that works, just need to find a way to get my position to make a WorldToScreen function.


Offtopic:
If anyone reading would like to give assistance in my project / discuss Trove reverse engineering etc.
Add me on discord: phylogenetics
Quote Originally Posted by psk_identity View Post
Hmmm, Ok Thanks alot.


Would you be able share any information on how you would get "invisible" values like ViewMatrix, ViewOrigin/ Camera origin?

Can't seem to find any information on those / how to actually get them.

Already got an entity list that works, just need to find a way to get my position to make a WorldToScreen function.


Offtopic:
If anyone reading would like to give assistance in my project / discuss Trove reverse engineering etc.
Add me on discord: phylogenetics
Code:
Cheat engine format
View Matrix = [[local player ptr]+20]+1F0
Camera pos = [[local player ptr]+20]+70
I found this by accident, when looking at function that control camera and thing, I found out it check for this+0x120 and got into a struct that contain some information for camera. That same struct also exist in [[local player ptr]+20]

You can find that function by find for string "camerathird" and find it reference

I using that to render entity path and it works (straight copy WorldToScreen function from any assault cube cheat lol)

Posts 1–4 of 4 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us