Coder Social home page Coder Social logo

l4d1-2_signatures's Introduction

L4D1&2 Signatures

PayPal

Donate to Motivate

About

This is a repository for hosting/storing several L4D1&2 signatures. More signatures will be added and supported as I come across or use more functions. I will try my best to keep all the signatures in this repository up-to-date.

  1. If you want me to add/support any function that isn't in this repository already, file an issue.
  2. If you have some signatures you want to share, make a pull request.
  • Be sure to state which game the signatures are from.
  1. If you encounter any bad/broken signatures, file an issue.
  • Mention the game and platform.
  1. Any signature that's broken by a game update will usually be fixed within 24 hours, so please allow at least that much time to pass before filing an issue.
  2. If you encounter any signature that doesn't work on late plugin loads, file an issue.
  • This usually only happens when another plugin detours or patches something in the same function.

Files

  1. l4d1/raw/l4d1_signatures_linux.txt - List of L4D1 Linux signatures
  2. l4d1/raw/l4d1_signatures_mac.txt - List of L4D1 Mac signatures
  3. l4d1/raw/l4d1_signatures_windows.txt - List of L4D1 Windows signatures
  4. l4d1/gamedata/l4d1_signatures.txt
  • Gamedata file that contains all of the signatures listed in the above files.
  • Includes instructions for finding each signature.
  1. l4d2/raw/l4d2_signatures_linux.txt - List of L4D2 Linux signatures
  2. l4d2/raw/l4d2_signatures_mac.txt - List of L4D2 Mac signatures
  3. l4d2/raw/l4d2_signatures_windows.txt - List of L4D2 Windows signatures
  4. l4d2/gamedata/l4d2_signatures.txt
  • Gamedata file that contains all of the signatures listed in the above files.
  • Includes instructions for finding each signature.
  1. gamedata/l4d_signatures.txt
  • Gamedata file that contains all of the signatures for both games listed in the above files.
  • Includes instructions for finding each signature.

Notes

General

  • Most of these signatures are designed for detours since that is the only reason I sought most them in the first place. You can of course still use them for SDKCall's and/or Addresses.
  • Keep in mind that most plugins that are still being maintained already use up-to-date signatures, so unless you are getting errors for any of these functions, you do not need to use any of these signatures.
  • Most of these signatures are heavily wildcarded but have been tested across multiple versions of both games to be very durable. While shorter signatures are ideal, longer but durable ones are more convenient.

Signature Count

  • L4D1: Linux/Windows - 292, Mac - 287
  • L4D2: Linux/Windows - 405, Mac - 391

Left 4 Dead

  • Most of the signatures have been verified to have withstood the last landmark update:
  1. Old (7-24-2019)
  • 25/292 Windows signatures changed since the latest version came out.
  • 3/292 Linux signatures changed since the latest version came out.
  1. Pre-Current (8-9-2021)
  • 3/292 Linux signatures changed since the latest version came out.
  1. Current (1-31-2022)

Left 4 Dead 2

  • Most of the signatures have been verified to have withstood the last five landmark updates:
  1. Pre-TLS (6-5-2020)
  • 64/405 Windows signatures changed since the latest version came out.
  • 8/405 Linux signatures changed since the latest version came out.
  1. TLS (9-24-2020)
  • 60/405 Windows signatures changed since the latest version came out.
  • 5/405 Linux signatures changed since the latest version came out.
  1. Post-TLS (2-18-2021)
  • 57/405 Windows signatures changed since the latest version came out.
  • 5/405 Linux signatures changed since the latest version came out.
  1. Pre-Current (6-15-2021)
  • 51/405 Windows signatures changed since the latest version came out.
  1. Pre-Current 2 (12-9-2021)
  • 17/405 Windows signatures changed since the latest version came out.
  1. Pre-Current 3 (2-1-2022)
  • 7/405 Windows signatures changed since the latest version came out.
  1. Current (4-14-2022)

Reminders

  • Keep in mind that does not mean that most of these signatures will never break. It just means that they are durable enough to withstand several major updates unless VALVe updates the code of their respective functions and/or uses different compiler settings.

Credits

Thank you to the following people for helping me locate a lot of these functions:

  • epz/epzminion: Taught me everything about sigscanning, patching, vtable look-ups, etc.
  • Silvers (SilverShot): Leaves great notes in his gamedata files and also introduced the method of including the CC ... lines plus the first few bytes of following functions to create unique signatures for very short functions.
  • Lux/LuxLuma: Uses lots of functions that are uncommonly used.
  • BHaType: Uses lots of functions that are rarely used.
  • cravenge: Uses some functions that are rarely used.
  • Scag/Scags: Wrote several useful/helpful IDA scripts to help make all of this a faster process.

Other Resources

All Linux Signatures by Dragokas - A repository for all the Linux signatures in the L4D/L4D2 binaries.

Final Words

I hope that people can make use of all the signatures provided in this repository. I would appreciate if you could credit me (or whoever contributed) when using any of these signatures. I don't require any specific way of being credited so long as you mention my name and/or link this repository in your project information.

l4d1-2_signatures's People

Contributors

psykotikism avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

l4d1-2_signatures's Issues

Signature addition/support request

/* nav_update_lighting(const CCommand ) /
"nav_update_lighting"
{
"library" "server"
"linux" "@_ZL19nav_update_lightingRK8CCommand"
"windows" "\x55\x8B\xEC\x8B\x45\x08\x57\x33\xFF\x83\x38\x02"
}
/
CNavArea::SpliceEdit(CNavArea
) /
"CNavArea::SpliceEdit"
{
"library" "server"
"linux" "@ZN8CNavArea10SpliceEditEPS"
"windows" "\x55\x8B\xEC\x83\xEC\x38\x53\x8B\x5D\x08\xF3\x0F\x10\x6B\x10"
}
/
IsAreaConnectedToNonCheckpointArea(TerrorNavArea *) */
"IsAreaConnectedToNonCheckpointArea"
{
"library" "server"
"linux" "@_Z34IsAreaConnectedToNonCheckpointAreaP13TerrorNavArea"
}

[L4D2] Signature Request

Could you add a signature for CTerrorPlayer::CreateRagdollEntity? I tried using CCSPlayer::CreateRagdollEntity before, but that doesn't seem to work, thanks!

No more room in hell signature

Is it possible to convert it to left 4 dead 2 ? I can't find the signature in your list.

"Games"
{
	"#default"
	{
		"Signatures"
		{
			"CPlayerMove::RunCommand"
			{
				"library"		"server"
				"windows"		"\x55\x8B\xEC\x83\xEC\x28\xF3\x0F\x10\x1D\x2A\x2A\x2A\x2A\x56\x57\x8B\x7D\x08"
				"linux"			"@_ZN11CPlayerMove10RunCommandEP11CBasePlayerP8CUserCmdP11IMoveHelper"
			}
		}

		"Functions"
        {
            "CPlayerMove::RunCommand"
            {
                "signature"  "CPlayerMove::RunCommand"
                "callconv"  "thiscall"
                "return"  "void"
                "this"  "address"
                "arguments"
                {
                    "player"
                    {
                        "type"  "cbaseentity"
                    }
					"cmd"
					{
						"type"	"objectptr"
					}
					"movehelper"
					{
						"type"	"objectptr"
					}
                }
            }
        }
	}
}

[L4D2]Signature addition/support request

/* ForEachTerrorPlayer(SpawnablePZScan &) */
"ForEachTerrorPlayer"
{
"library" "server"
"linux" "@Z19ForEachTerrorPlayerI15SpawnablePZScanEbRT"
}

sub_10356A50
The Windows signature is in this function, makesig reports me an error Ran out of bytes to create unique signature.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.