View Single Post
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 04-25-2024 , 19:43   Re: [L4D2] HUD Display Manager (April 7th, 2024)
Reply With Quote #6

Quote:
Originally Posted by R4to0.exe View Post
Hello. I am the one who offered compiled Windows binaries for @liquidplasma. They were compiled straight from your repository fork, worked without any extra changes. I did also created signatures for Windows and provided to him.

I've compiled with the following commands:
Code:
python ../configure.py --sm-path="../../../sourcemod" --enable-optimize --sdks="l4d2" --mms-path="../../../mmsource" --symbol-files
ambuild
You can probably add these to Github CI to automatically build Windows binaries. I know you can't test on Windows but I think the community can take care of that right?

Here's the signatures in case you want to update in your repo, these worked pretty well for @liquidplasma. I used Ghidra with makesig.py script:

Code:
    "left4dead2"
    {
        "Signatures"
        {
            /**
             * Signature for CGameClient::ShouldSendMessages
             * 
             * How to find:
             * - search for "%s overflowed reliable buffer\n"
             * - there will be two matches, it's usually the first one
             * - find a reference to the function at the top
             * - pick the only "CALL FUN_XXXX" that is in the list
             * 
             */
            "CGameClient::ShouldSendMessages"
            {
                "library"    "engine"
                "windows"    "\x55\x8B\xEC\x51\x56\x8B\xF1\x80\xBE\x2A\x2A\x2A\x2A\x00\x74\x2A\x83\x3D\x2A\x2A\x2A\x2A\x00"
            }

            /**
             * Signature for CGameServer::SendClientMessages
             * 
             * How to find:
             *  - search for "SendClientMessages"
             *  - there's 2 matches, it's usually the first one
             *  - to make sure you're in the right method there will be a string called "sv_main.cpp" above "(%s)%s","Networking","SendClientMessages"
             * 
             */
            
            "CGameServer::SendClientMessages"
            {
                "library"    "engine"
                "windows"    "\x55\x8B\xEC\x81\xEC\xB4\x00\x00\x00\xA1\x2A\x2A\x2A\x2A\x53"
            }
            
            /**
             * Signature for SV_ComputeClientPacks
             * 
             * How to find:
             *  - Simply search for "SV_ComputeClientPack", or "sv_packedentities.cpp"
             * 
             */
            "SV_ComputeClientPacks"
            {
                "library"    "engine"
                "windows"    "\x55\x8B\xEC\x83\xEC\x44\xA1\x2A\x2A\x2A\x2A\x53"
            }
        }
    }
This is neat, a pull request or just providing the GitHub action/signatures would be greatly appreciated but it's fine if you're unable to, I'll try to see what I can come up with.
__________________
gabuch2 is offline