Как обновить basenetworkable на rust
Disclaimer:
Now, I know that all of this information, and more, can be found on this forum. But, some of you will find it hard searching a 200-page thread about reversing, when trying to find something specific, so, heres a tutorial for getting all the offsets for Rust, including BaseNetworkable (BN) and GameObjectManager (GOM). If there are some missing, please notify me and ill include it here
NOTE: This also helps you update old sources, but I dont recommend using them.
Next ill probably make a tutorial on how to construct a simple cheat, and how to start looking into EAC and slowly developing your own bypass o.O
And yes. It might be basic information, but ive seen enough of "how do me are get offset men)".
Part 1: Normal Offsets (eg. Health, etc)
Back in the good old days when Rust used mono, it was easy to get the offsets, I can't exactly remember if it was as easy as just putting the Assembly-CSharp.dll into dnSpy, but something as easy as that. Now they use the big bad IL2CPP, which afterall isn't big neither bad. First you should download "IL2CPPDumper" from here.
After that, open it, and it will prompt you with a file dialog. Now you have to go to the Rust directory, and find a file called "GameAssembly.dll"! Now, this should be easy since the GameAssembly is in the same folder as the Rust executables. After choosing that, it will prompt you with a file dialog once again, and now you need to head to *rust main folder*->RustClient_Data->il2cpp_data->Metadata and choose the global-metadata.dat file.
Now, just search something you are looking for, for example, "health" and when it pops up, just click it and you should see the "FieldOffset". That is the offset you are looking for! Heres a little gif I made to show exactly what you should do.
Note that these are old offsets from a old dump, do not use them
Part 2: BaseNetworkable
This is a bit trickier, but still, relatively easy at the same time. In the same directory as the dumper (NOT THE DUMMYDLL, THE DUMPER DIRECTORY ITSELF!) you should find something called script.json. Open it with your notepad, press Ctrl+F and type basenetworkable_c (basenetworkable_typeinfo does the same thing). After you have found it, it should look something like this:
Now, just take the address, and put it into a DecimalToHex converter. After that just add 0x infront of the output (in my case it would be 0x2FF92B0). And congraz, you got your offset!
Part 3: GameObjectManager
This one is a bit hard. But you can still do it!
Now im not good at explaining this part, so ill link some threads aswell. But it harshly goes like this: Download Unity (the game engine) with IL2CPP module, then build application with PDB enabled. After that, open IDA (I think the IDA Freeware will do the trick aswell, just search IDA/Interactive Disassembler and download the free version) and search for GameObject::CleanupClass, you should be able to find GOM in there. Been a while from when I did this last time.
Читайте также: