Half-Life 2 Complete Edition Steam Trainer

Upload your trainers here (No requests)
Post Reply
User avatar
_/.CoffeeWine.\_
Expert Cheater
Expert Cheater
Posts: 82
Joined: Sun Sep 02, 2018 11:24 am
Reputation: 37

Half-Life 2 Complete Edition Steam Trainer

Post by _/.CoffeeWine.\_ »

Trainer for Half-Life 2: Complete Edition - Half-Life 2, Episodes, Lost Coast
Version: Steam
Source Version - Engine: 24 | Build: 5377866
Options
Image
Download Link:
[Link]

VersusS
What is cheating?
What is cheating?
Posts: 2
Joined: Wed Aug 17, 2022 3:41 am
Reputation: 0

Re: Half-Life 2 Complete Edition Steam Trainer

Post by VersusS »

Please reload file :,v

dotheboogey678
What is cheating?
What is cheating?
Posts: 1
Joined: Fri Aug 19, 2022 2:35 am
Reputation: 0

Re: Half-Life 2 Complete Edition Steam Trainer

Post by dotheboogey678 »

reupload the file

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Half-Life 2 Complete Edition Steam Trainer

Post by SunBeam »

EDIT: I went back to the source-code and compiled the client/server DLLs with MSVS2010SP1 and MSVS2013SP5. The latter one (MSVS2013SP5) matches the Steam build almost perfectly :) So the aobs now will almost always match between the two:

Image

Updated the link at the bottom of this post.

***

This folder contains the source code for HL2 Beta: [Link].

You can compile it with MSVS2017 (I just did it) and get client.dll and server.dll with debug symbols. While not useful for a regular user (player wanting a trainer), it's useful for a game-hacker to learn the internals of the Source Engine.

Here's an idea:

- once you have your weapon in HL2 (I am playing the latest Steam version), start by scanning for your clip ammo
- repeat till you've found your address (note that your address will be different than the one in the picture below)
- then debug it:

Image

So now we see this:

Image

Open the server.dll from the ZIP in a debugger (I use x64dbg) below and look for an array of bytes that will lead you to the function in the picture above. I've selected these bytes to scan for them in the other DLL:

Image

Since the CALL is "dynamic" (in the sense that it will not be at the same address pointing to same destination between the original server.dll and our server.dll), we need to turn its bytes to wildcards (except the first byte). So:

Code: Select all

8B C6 2B C1 8B CA 50 E8 ?? ?? ?? ?? 89 3E 5F
Scanning for it didn't return any results, most likely because the original server.dll is compiled with a certain MSVS, while ours I compiled it with MSVS2017. So then I looked for references to the function that subtracts our ammo and found 2 callers. Note that I now switched to x64dbg:

Image

Image

Image

Scrolled a bit and saw this:

Image

Scanned for all string references in our DLL and filtered by that word "!HEV_AMO0" and saw there's several locations it's being used:

Image

^ That picture is from our DLL, not the original one.

Then I checked each function manually and found the matching one (left is original DLL, right is our DLL):

Image

^ I've marked all similarities I spotted.

So now.. scrolling up to our function..

Image

So our function is called:
public: int const & __thiscall CNetworkVarBase<int,class CBaseCombatWeapon::NetworkVar_m_iClip1>::operator-=<int>(int const &)
And it's this one, in our DLL:

Image

And that's how you can use the client/server DLLs from the leaked HL2 source code to map the functions into the retail version from Steam :P

Enjoy.

Download: [Link]
(password: sunbeam)

User avatar
CubicRamin
What is cheating?
What is cheating?
Posts: 2
Joined: Wed Aug 31, 2022 8:59 am
Reputation: 0

Re: Half-Life 2 Complete Edition Steam Trainer

Post by CubicRamin »

Nice, good job

Post Reply

Who is online

Users browsing this forum: DotBot