A dynamic-link library hook used to add/modify functionality within legacy ROBLOX game clients.
Mariner has been tested to work on the late 2013 game client.
Mariner requires the following in order to build and import:
- Visual Studio 2022 (ensure you have the Visual C++ packages installed)
- A compiler which supports C++20
- StudPE
- A computer, as it would be painful to live without one, wouldn't it?
- x64dbg
- IDA Pro
These are recommended as they will allow you to not only reverse engineer subroutines but also importantly, find their respective addresses. Mariner already has late 2013 addresses by default.
- Build the source code using Visual Studio 2022
- Move the Mariner.dll file to your game directory. This can be made easier by creating a post-build event in Properties
- Open either Studio or Player using StudPE and go to the Functions tab
- Right-click on the Imported Functions side panel on the left and add a new import
- Select Mariner.dll and click Select func
- Select the ImportMariner export and then add it to the list.
- Click ADD and then OK
Mariner detours subroutines within the client, which are given via their specific addresses (i.e. 2631E0). Therefore, if you want Mariner to apply its patches to a client of your choice, you must edit the addresses to the addresses you wish to hook accordingly. Make sure to subtract the module base from your address - for example, the module base for 2013 is 0x400000, so 0x400000 must be subtracted from all of the hook addresses.
- HTTP rewrite
- Trust check
- Public key
- @pizzaboxer for being incredibly helpful and for being a major contributor for the hooks