L 4 D 2 Addresses

You might also like

You are on page 1of 15

"Games"

{
"left4dead2"
{
"Offsets"
{
"Platform"
{
"windows" "1"
"linux" "2"
}
}

"Addresses"
{
"CDirector"
{
"windows"
{
"signature" "DirectorMusicBanks_OnRoundStart"

"read" "13"
}
"linux"
{
"signature" "TheDirector"
}
"read" "0"
}

"CNavMesh"
{
"windows"
{
"signature" "CommandNavLoad"
"read" "11"
}
"linux"
{
"signature" "TheNavMesh"
}
"read" "0"
}

"CDirectorScavengeMode" /* offset into CDirector thisptr */


{
"signature" "CDirector_AreWanderersAllowed"
"windows"
{
"read" "8" /* mov ecx, [esi+568h] */
}
"linux"
{
"read" "18" /* mov eax, [ebx+578h] */
}
}

"CZombieManager"
{
"windows"
{
"signature" "InstallBotControl"
"read" "2"
}
"linux"
{
"signature" "TheZombieManager"
}
"read" "0"
}
}

"Signatures"
{
/* CDirectorScavengeMode::OnBeginRoundSetupTime
* used to reset the setup timer during scavenge mode
*/
"CDirectorScavengeMode_OnBeginRoundSetupTime"
{
"library" "server"
"linux" "@_ZN21CDirectorScavengeMode21OnBeginRoun
dSetupTimeEv"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x8B\xF1\xE8\x2A\
x2A\x2A\x2A\x84\xC0\x74\x2A\xF3\x2A\x2A\x2A\x2A\x83\xC6"
/* 55 8B EC 83 EC ? 56 8B F1 E8 ? ? ? ? 84 C0 74 ? F3 ? ? ?
? 83 C6 */
}

/*
* CDirector::SwapTeams(void)
*/
"SwapTeams"
{
"library" "server"
"linux" "@_ZN9CDirector9SwapTeamsEv"
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\
x8B\xF1\x8B\x8E\x2A\x2A\x2A\x2A\x57\x89\x75\x2A\xC6\x2A\x2A\x2A\xE8\x2A\x2A\x2A\
x2A\x8B"
/* 55 8B EC 81 EC ? ? ? ? 53 56 8B F1 8B 8E ? ? ? ? 57 89
75 ? C6 ? ? ? E8 ? ? ? ? 8B */
}

/*
* CDirector::AreTeamsFlipped(void)const
*
* got via CTerrorPlayer::UpdateTeamDesired and its String
"CTerrorPlayer::UpdateTeamDesired error "
*
*/
"AreTeamsFlipped"
{
"library" "server"
"linux" "@_ZNK9CDirector15AreTeamsFlippedEv"
"windows" "\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x84\xC0\x75\
x2A\xF7"
/* 57 8B F9 E8 ? ? ? ? 84 C0 75 ? F7 */
}
/*
* CDirector::RegisterForbiddenTarget(CBaseEntity *)
*/
"RegisterForbiddenTarget"
{
"library" "server"
"linux" "@_ZN9CDirector23RegisterForbiddenTargetEP11CBa
seEntity"
"windows" "\x8B\x91\x2A\x2A\x2A\x2A\x81\xC1\x2A\x2A\x2A\
x2A\x56\x33\xC0\x85\xD2\x57\x7E\x2A\x8B\x31\x8B\x7C\x2A\x2A\x8D\x9B\x2A\x2A\x2A\
x2A\x39\x3E\x74\x2A\x83\xC0\x2A\x83\xC6\x2A\x3B\xC2\x7C\x2A\x8D\x44\x2A\x2A\x50\
x52\xE8\x2A\x2A\x2A\x2A\x5F\x5E\xC2\x2A\x2A\x85\xC0\x7D\x2A\x8D\x44\x2A\x2A\x50\
x52\xE8\x2A\x2A\x2A\x2A\x5F\x5E\xC2"
/* 8B 91 ? ? ? ? 81 C1 ? ? ? ? 56 33 C0 85 D2 57 7E ? 8B 31
8B 7C ? ? 8D 9B ? ? ? ? 39 3E 74 ? 83 C0 ? 83 C6 ? 3B C2 7C ? 8D 44 ? ? 50 52
E8 ? ? ? ? 5F 5E C2 ? ? 85 C0 7D ? 8D 44 ? ? 50 52 E8 ? ? ? ? 5F 5E C2 */
}

/*
* CDirector::CreateRescuableSurvivors(void)
*/
"CreateRescuableSurvivors"
{
"library" "server"
"linux" "@_ZN9CDirector24CreateRescuableSurvivorsEv"
"windows" "\x55\x8B\xEC\x83\x2A\x2A\x83\xEC\x2A\x53\x55\
x56\x57\x8B\xE9\xA1\x2A\x2A\x2A\x2A\x83\x2A\x2A\x2A\x89\x2A\x2A\x2A\x0F\x2A\x2A\
x2A\x2A\x2A\x8D\xB5\x2A\x2A\x2A\x2A\x8B\xCE\xE8"
/* 55 8B EC 83 ? ? 83 EC ? 53 55 56 57 8B E9 A1 ? ? ? ?
83 ? ? ? 89 ? ? ? 0F ? ? ? ? ? 8D B5 ? ? ? ? 8B CE E8 */
/* String "rescue spot %d(%s) stops calling for he" */
}

/*
* CDirector::TryOfferingTankBot(void)
*/
"TryOfferingTankBot"
{
"library" "server"
"linux" "@_ZN9CDirector18TryOfferingTankBotEv"
"windows" "\x51\xD9\xEE\x55\x8B\xE9\xD8\x9D\x2A\x2A\x2A\
x2A\xDF\xE0\xF6\xC4\x05\x0F\x2A\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A"
/* 51 D9 EE 55 8B E9 D8 9D ? ? ? ? DF E0 F6 C4 05
0F ? ? ? ? ? A1 ? ? ? ? */
}

/*
* CDirector::StartRematchVote(void)
*/
"StartRematchVote"
{
"library" "server"
"linux" "@_ZN9CDirector16StartRematchVoteEv"
"windows" "\x83\x2A\x2A\x56\x8B\xF1\x68\x2A\x2A\x2A\x2A\
x6A\x2A\xB9\x2A\x2A\x2A\x2A\xC6"
/* 83 ? ? 56 8B F1 68 ? ? ? ? 6A ? B9 ? ? ? ? C6 */
}

/*
* CDirectorVersusMode::HideScoreboardNonVirtual(void)
*/
"HideVersusScoreboard"
{
"library" "server"
"linux" "@_ZN19CDirectorVersusMode24HideScoreboardNonVi
rtualEv"
"windows" "\x83\xEC*\xE8****\x84\xC0\x74\x4B\x53\x8D\x44**\
x33\xDB\x50"
/* 83 EC ? E8 ? ? ? ? 84 C0 74 4B 53 8D 44 ? ? 33 DB
50 */
}

/*
* CDirectorScavengeMode::HideScoreboardNonVirtual(void)
*/
"HideScavengeScoreboard"
{
"library" "server"
"linux" "@_ZN21CDirectorScavengeMode24HideScoreboardNon
VirtualEv"
"windows" "\x83\xEC*\xE8****\x84\xC0\x74\x26\x33\xC0\x88\
x44**\x89\x44**\x8D\x04*\x50"
/* 83 EC ? E8 ? ? ? ? 84 C0 74 26 33 C0 88 44 ? ? 89
44 ? ? 8D 04 ? 50 */
}

/* Used to get offset for CDirectorScavengeMode


*(director + offset) == ptr to CDirectorScavengeMode
*/
"CDirector_AreWanderersAllowed"
{
"library" "server"
"linux" "@_ZNK9CDirector19AreWanderersAllowedEv"
"windows" "\x83\xEC\x0C\x56\x8B\xF1\x8B\x8E\x2A\x2A\x2A\
x2A\x8D\x2A\x2A\x2A\x50\xE8\x2A\x2A\x2A\x2A\x84\xC0"
/* 83 EC 0C 56 8B F1 8B 8E ? ? ? ? 8D ? ? ? 50 E8 ? ? ? ?
84 C0 */
}

/* CDirectorMusicBanks::OnRoundStart, used solely to get the


offset for TheDirector */
"DirectorMusicBanks_OnRoundStart"
{
"library" "server"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x57\x8B\xF9\
x8B\x0D\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x84\xC0\x0F"
/* 55 8B EC 83 EC ? 56 57 8B F9 8B 0D ? ? ? ? E8 ? ? ? ? 84
C0 0F */
}

/* Find the Director singleton class in linux */

"TheDirector"
{
"library" "server"
"linux" "@TheDirector"
}
/* Used solely to get the offset for TheZombieManager, find using
string "resource/ModEvents.res", second call after that */
"InstallBotControl"
{
"library" "server"
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\
x8B\x01\x8B\x10\x6A\x2A\xFF\xD2\xA1\x2A\x2A\x2A\x2A\x8B\x08"
/* 8B 0D ? ? ? ? 85 C9 74 ? 8B 01 8B 10 6A ? FF D2 A1 ? ? ?
? 8B 08 */
}

/* Find the ZombieManager singleton class in linux */

"TheZombieManager"
{
"library" "server"
"linux" "@TheZombieManager"
}

/*
* CDirector::RestartScenarioFromVote(const char*)
*
* string "RestartScenarioFromVote - changing to m"
*/
"RestartScenarioFromVote"
{
"library" "server"
"linux" "@_ZN9CDirector23RestartScenarioFromVoteEPKc"
"windows" "\x55\x8B\xEC\x56\x8B\xF1\x8B\x0D\x2A\x2A\x2A\
x2A\x57\x85\xC9\x74"
/* 55 8B EC 56 8B F1 8B 0D ? ? ? ? 57 85 C9 74 */
}

/*
* CDirector::IsFinale(void)const
*/
"DirectorIsFinale"
{
"library" "server"
"linux" "@_ZNK9CDirector8IsFinaleEv"
"windows" "\x8B\x81****\x33\xC9\x83\x38*\x0F\x95\xC1\x8A\
xC1\xC3"
/* 8B 81 ? ? ? ? 33 C9 83 38 ? 0F 95 C1 8A C1 C3 */
}

/*
* Infected::GetFlowDistance(void)const
*
* for finding: Is called twice in
* 56 8B 74 ? ? 57 8B F9 8B CE E8 ? ? ? ? 83 F8 ? 0F ? ? ? ? ? 85
F6 74
*/
"GetInfectedFlowDistance"
{
"library" "server"
"linux" "@_ZNK8Infected15GetFlowDistanceEv"
"windows" "\x8B\x01\x8B\x90\x2A\x2A\x2A\x2A\xFF\xD2\x85\
xC0\x74\x2A\xD9\x80\x2A\x2A\x2A\x2A\xC3"
/* 8B 01 8B 90 ? ? ? ? FF D2 85 C0 74 ? D9 80 ? ? ? ? C3 */
}

/*
* CTerrorGameRules::GetVersusCompletion(CTerrorPlayer *)
*/
"GetVersusCompletionPlayer"
{
"library" "server"
"linux" "@_ZN16CTerrorGameRules19GetVersusCompletionEP1
3CTerrorPlayer"
"windows" "\x83\xEC*\x53\x55\x8B\x6C**\x57\x8B\xF9\x8B\xCD\
x89\x7C**\xE8****\x8B\xD8\x8B\x43"
/* 83 EC ? 53 55 8B 6C ? ? 57 8B F9 8B CD 89 7C ? ?
E8 ? ? ? ? 8B D8 8B 43 */
}

/*
* CTerrorPlayer::GetFlowDistance(TerrorNavArea::FlowType)const
*/
"PlayerGetFlowDistance"
{
"library" "server"
"linux" "@_ZNK13CTerrorPlayer15GetFlowDistanceEN13Terro
rNavArea8FlowTypeE"
"windows" "\x8B\x01\x8B\x90****\xFF\xD2\x85\xC0\x74*\xD9\
x80****\xC3"
/* 8B 01 8B 90 ? ? ? ? FF D2 85 C0 74 ? D9 80 ? ? ? ? C3 */
}

/*
CDirectorTacticalServices::GetHighestFlowSurvivor(TerrorNavArea::FlowType)const
*
* i did find the function in the windows binary, but its inlined
beyond belief
* starting call is at:
* 83 EC ? D9 ? ? ? ? ? 33 C0 89 44 ? ? D9 1C ? 89 44 ? ? 89 44 ?
? 8B 44 ? ? 8D 0C
* it might even work, but someone would have to try it out
*/
"GetHighestFlowSurvivor"
{
"library" "server"
"linux" "@_ZNK25CDirectorTacticalServices22GetHighestFl
owSurvivorEN13TerrorNavArea8FlowTypeE"
"windows" "\x83\xEC*\xD9*****\x33\xC0\x89\x44**\xD9\x1C*\
x89\x44**\x89\x44**\x8B\x44**\x8D\x0C"
}

/*
* CDirector::FullRestart(void)
*/
"FullRestart"
{
"library" "server"
"linux" "@_ZN9CDirector11FullRestartEv"
"windows" "\x56\x8B\xF1\xC7\x86********\xE8****\xE8****\
x8B\xCE\xE8****\x8B\x8E"
/* 56 8B F1 C7 86 ? ? ? ? ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? 8B
CE E8 ? ? ? ? 8B 8E */
}

/*
* CTerrorGameRules::ClearTeamScores(bool)
*/
"GameRulesClearTeamScores"
{
"library" "server"
"linux" "@_ZN16CTerrorGameRules15ClearTeamScoresEb"
"windows" "\x51\x53\x55\x56\x57\x8B\xF9\x33\xDB\x33\xF6\
x8D\xAF\x2A\x2A\x2A\x2A\x8D\x44"
/* 51 53 55 56 57 8B F9 33 DB 33 F6 8D AF ? ? ? ? 8D 44 */
/* found in CDirector::OnServerShutDown via String
"ServerConfig.vdf" */
}

/*
* CTerrorGameRules::ClearScavengeScores(bool)
*/
"GameRulesClearScavengeScores"
{
"library" "server"
"linux" "@_ZN16CTerrorGameRules19ClearScavengeScoresEb"
"windows" "\x51\x53\x55\x56\x8B\xE9\x57\x33\xDB\x33\xF6\
x8D\x2A\x2A\x2A\x2A\x2A\x8D\x2A\x2A\x2A\x50\x56\x8B\xCF\x89"
/* 51 53 55 56 8B E9 57 33 DB 33 F6 8D ? ? ? ? ? 8D ? ? ?
50 56 8B CF 89 */
/* found in CDirector::OnServerShutDown via String
"ServerConfig.vdf" */
}

/*
* CTerrorGameRules::ClearRoundDurations(void)
*/
"GameRulesClearRoundDurations"
{
"library" "server"
"linux" "@_ZN16CTerrorGameRules19ClearRoundDurationsEv"
"windows" "\x51\xD9\xEE\x56\x8D\x44\x2A\x2A\xD9\x5C\x2A\
x2A\x8D\xB1\x2A\x2A\x2A\x2A\x50\x6A"
/* 51 D9 EE 56 8D 44 ? ? D9 5C ? ? 8D B1 ? ? ? ? 50 6A */
}

/*
* CDirectorVersusMode::ClearTeamScoresNonVirtual(bool)
*/
"DirectorClearTeamScores"
{
"library" "server"
"linux" "@_ZN19CDirectorVersusMode25ClearTeamScoresNonV
irtualEb"
"windows" "\x33\xC0\x38\x44\x2A\x2A\x74\x06\x89\x41\x2A\
x89\x41\x2A\xC2\x04"
/* 33 C0 38 44 ? ? 74 06 89 41 ? 89 41 ? C2 04 */
}

/*
* CTerrorPlayer::MaterializeFromGhost(void)
*
* for finding:
* "%s materialized from spawn mode as a %s"
*/
"MaterializeFromGhost"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer20MaterializeFromGhostEv"
"windows" "\x56\x8B\xF1\x8B\x06\x8B\x90\x2A\x2A\x2A\x2A\
xFF\xD2\x50\xE8\x2A\x2A\x2A\x2A\x83\xC4"
/* 56 8B F1 8B 06 8B 90 ? ? ? ? FF D2 50 E8 ? ? ? ? 83 C4
*/
}

/*
* CTerrorPlayer::Vocalize(char const *, float, float)
* does not bypass new Valve Vocalize Lock
*/
"Vocalize"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer8VocalizeEPKcff"
"windows" "\x51\xD9\xEE\x56\xD9\x44\x2A\x2A\x8B\xF1\xD8\
xD1\xDF\xE0\xF6\xC4"
/* 51 D9 EE 56 D9 44 ? ? 8B F1 D8 D1 DF E0 F6 C4 */
}

/*
* CTerrorPlayer::TakeOverZombieBot(CTerrorPlayer*)
*
* for finding:
* "bot_player_replace"
*/
"TakeOverZombieBot"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer17TakeOverZombieBotEPS_"
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\xA1\x2A\
x2A\x2A\x2A\x33\xC5\x89\x45\x2A\x53\x8B\x5D\x2A\x80"
/* 55 8B EC 81 EC ? ? ? ? A1 ? ? ? ? 33 C5 89 45 ? 53 8B 5D
? 80 */
}

/*
* CTerrorPlayer::ReplaceWithBot(bool)
*
* for finding: in CDirector::UpdateTankSpawns, easily findable
in graph view
* "TANK OFFER: No tickets, choosing random"
*/
"ReplaceWithBot"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer14ReplaceWithBotEb"
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\xA1\x2A\
x2A\x2A\x2A\x33\xC5\x89\x45\x2A\x56\x8B\xF1\x8B\x06\x8B\x90\x2A\x2A\x2A\x2A\xFF\
xD2\x84\xC0\x74"
/* 55 8B EC 81 EC ? ? ? ? A1 ? ? ? ? 33 C5 89 45 ? 56 8B F1
8B 06 8B 90 ? ? ? ? FF D2 84 C0 74 */
}

/*
* ZombieManager::ReplaceTank(CTerrorPlayer *, CTerrorPlayer *)
*
* for finding: in CDirector::UpdateTankSpawns, easily findable
in graph view from ReplaceWithBot
*/
"ReplaceTank"
{
"library" "server"
"linux" "@_ZN13ZombieManager11ReplaceTankEP13CTerrorPla
yerS1_"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x53\x56\x8B\x75\x2A\
x8B\x06\x8B\x90\x2A\x2A\x2A\x2A\x57\x8B\xF9\x8B\xCE\xFF\xD2\x84\xC0\x0F"
/* 55 8B EC 83 EC ? 53 56 8B 75 ? 8B 06 8B 90 ? ? ? ? 57 8B
F9 8B CE FF D2 84 C0 0F */
}

/*
* CTerrorPlayer::CullZombie(void)
* Called in ReplaceTank, followed by a call to
CCSPlayer::State_Transition
*/
"CullZombie"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer10CullZombieEv"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x8B\xF1\x8B\x0D\
x2A\x2A\x2A\x2A\x57\x56\xE8"
/* 55 8B EC 83 EC ? 56 8B F1 8B 0D ? ? ? ? 57 56 E8 */
}

/*
* CTerrorPlayer::Fling(Vector
const&,PlayerAnimEvent_t,CBaseCombatCharacter *,float)
*
* Vector: how target is supposed to fly, Animevent is "76"
for chargerbounce, CBasePlayer is attacker, float is Incap Animation time
*
* Find via CCharge::HandleCustomCollision (strings) ->
ThrowImpactedSurvivor (strings, structure) -> Fling (feel it out)
*
*/
"CTerrorPlayer_Fling"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer5FlingERK6Vector17PlayerAni
mEvent_tP20CBaseCombatCharacterf"
"windows" "\x53\x8B\xDC\x83\xEC\x2A\x83\xE4\x2A\x83\xC4\
x2A\x55\x8B\x6B\x2A\x89\x6C\x2A\x2A\x8B\xEC\x81\x2A\x2A\x2A\x2A\x2A\xA1\x2A\x2A\
x2A\x2A\x33\xC5\x89\x45\x2A\x8B\x43\x2A\x56\x8B\x73\x2A\x57\x6A\x2A\x8B\xF9\x89\
x45"
/* 53 8B DC 83 EC ? 83 E4 ? 83 C4 ? 55 8B 6B ? 89 6C ? ? 8B
EC 81 ? ? ? ? ? A1 ? ? ? ? 33 C5 89 45 ? 8B 43 ? 56 8B 73 ? 57 6A ? 8B F9 89 45 */
}
"SetClass"
{
"library" "server"
"windows" "\x56\x8B\xF1\xE8****\x83\xF8\x03\x0F\x85****\
xA1****\x83\xC0\x01"
"linux" "@_ZN13CTerrorPlayer8SetClassE15ZombieClassType"
}

"CreateAbility"
{
"library" "server"
"windows" "\x83\xEC\x0C\x56\x8B\x74\x24\x14\x85\xF6\x0F\
x84\xF7\x00\x00\x00"
"linux"
"@_ZN12CBaseAbility15CreateForPlayerEP13CTerrorPlayer"
}

/* CTerrorPlayer::BecomeGhost(bool) */
"BecomeGhost"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer11BecomeGhostEb"
"windows" "\x55\x8B\xEC\x53\x8B\x5D\x2A\x56\x53\x8B\xF1\
xE8\x2A\x2A\x2A\x2A\x84"
/* 55 8B EC 53 8B 5D ? 56 53 8B F1 E8 ? ? ? ? 84 */
}

/* CCSPlayer::State_Transition(CSPlayerState) */
"State_Transition"
{
"library" "server"
"linux" "@_ZN9CCSPlayer16State_TransitionE13CSPla
yerState"
"windows" "\x55\x8B\xEC\x56\x8B\xF1\x8B\x86\x2A\x2A\x2A\
x2A\x57\x8B\x7D\x2A\x85\xC0\x74\x2A\x83"
/* 55 8B EC 56 8B F1 8B 86 ? ? ? ? 57 8B 7D ? 85 C0 74 ?
83 */
}

/*
*
CTerrorGameRules::GetVersusCompletionPerCharacter(SurvivorCharacterType, int)const
*
* SurvivorCharacterType is likely int, 0-3 or 1-4
* function can be found via the
CDirectorVersusMode::UpdateMarkersReached(void) function, unique string
"versus_marker_reached"
*/
"GetVersusCompletionPerCharacter"
{
"library" "server"
"linux" "@_ZNK16CTerrorGameRules31GetVersusCompletionPe
rCharacterE21SurvivorCharacterTypei"
"windows" "\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x84\xC0\x75\
x2A\x8B\x4C\x2A\x2A\xB8\x2A\x2A\x2A\x2A\x8D"
/* 57 8B F9 E8 ? ? ? ? 84 C0 75 ? 8B 4C ? ? B8 ? ? ? ? 8D
*/
}
/*
* CTerrorGameRules::RecordInfectedDamageForVersus(int)
*
* Found using AreTeamsFlipped and NotifyNetWorkStateChanged -
but im not sure its the right one
*/
"RecordInfectedDamageForVersus"
{
"library" "server"
"linux" "@_ZN16CTerrorGameRules29RecordInfectedDamageFo
rVersusEi"
"windows" "\x56\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x84\xC0\
x75\x2A\xBE\x01\x2A\x2A\x2A\xEB"
/* 56 57 8B F9 E8 ? ? ? ? 84 C0 75 ? BE 01 ? ? ? EB */
}

/*
* CDirector::HideScoreboard(void)
*/
"HideScoreboard"
{
"library" "server"
"linux" "@_ZN9CDirector14HideScoreboardEv"
"windows" "\x56\x8B\xF1\x8B\x2A\x2A\x2A\x2A\x2A\xE8\x2A\
x2A\x2A\x2A\x8B\x8E"
/* 56 8B F1 8B ? ? ? ? ? E8 ? ? ? ? 8B 8E */
}

/*
* SurvivorBot::IsReachable(CBaseEntity *)const
*/
"IsReachable_Entity"
{
"library" "server"
"linux" "@_ZNK11SurvivorBot11IsReachableEP11CBaseEntity
"
"windows" "\xD9\x2A\x2A\x2A\x2A\x2A\x56\x6A\x2A\x6A\x2A\
x6A\x2A\x51\x8B\xF1\xD9"
/* D9 ? ? ? ? ? 56 6A ? 6A ? 6A ? 51 8B F1 D9 */
}

"TheNavMesh"
{
"library" "server"
"linux" "@TheNavMesh"
}

/*
* CommandNavLoad(void)
*/
"CommandNavLoad"
{
"library" "server"
"windows" "\xE8\x2A\x2A\x2A\x2A\x84\xC0\x74\x2A\x8B\x2A\
x2A\x2A\x2A\x2A\x8B\x01\x8B\x2A\x2A\xFF\xD2\x85\xC0\x74"
/* E8 ? ? ? ? 84 C0 74 ? 8B ? ? ? ? ? 8B 01 8B ? ? FF D2 85
C0 74 */
}
/*
* CNavArea::IsBlocked(int, bool)const
*/
"CNavArea_IsBlocked"
{
"library" "server"
"linux" "@_ZNK8CNavArea9IsBlockedEib"
"windows" "\x55\x56\x57\x8B\x2A\x2A\x2A\x85\xFF\x8B\xE9\
x74\x2A\x8B\x2A\x2A\x2A\x85\xF6\x74"
/* 55 56 57 8B ? ? ? 85 FF 8B E9 74 ? 8B ? ? ? 85 F6 74 */
}

/*
* CTerrorPlayer::OnVomitedUpon(CTerrorPlayer*, bool)
*/
"CTerrorPlayer_OnVomitedUpon"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer13OnVomitedUponEPS_b"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x53\x56\x57\x8B\xF1\
xE8\x2A\x2A\x2A\x2A\x84\xC0\x74\x2A\x8B\x06\x8B\x90"
/* 55 8B EC 83 EC ? 53 56 57 8B F1 E8 ? ? ? ? 84 C0 74 ? 8B
06 8B 90 */
}

/*
* CTerrorPlayer::OnHitByVomitJar(CBaseCombatCharacter *)
*/
"CTerrorPlayer_OnHitByVomitJar"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer15OnHitByVomitJarEP20CBaseC
ombatCharacter"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x8B\xF1\xE8\x2A\
x2A\x2A\x2A\x84\xC0\x74\x2A\x8B\x06\x8B\x90\x2A\x2A\x2A\x2A\x8B\xCE\xFF\xD2\x84\
xC0\x0F"
/* 55 8B EC 83 EC ? 56 8B F1 E8 ? ? ? ? 84 C0 74 ? 8B 06 8B
90 ? ? ? ? 8B CE FF D2 84 C0 0F */
}

/*
* Infected::OnHitByVomitJar(CBaseCombatCharacter *)
*/
"Infected_OnHitByVomitJar"
{
"library" "server"
"linux" "@_ZN8Infected15OnHitByVomitJarEP20CBaseCombatC
haracter"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x56\x8B\xF1\x8B\x06\
x8B\x90\x2A\x2A\x2A\x2A\xFF\xD2\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x06\x8B\x90\
x2A\x2A\x2A\x2A\x8B\xCE\xFF\xD2\x84\xC0\x75\x2A\x56\xE8\x2A\x2A\x2A\x2A\x8B\xC8\
xE8"
/* 55 8B EC 83 EC ? 56 8B F1 8B 06 8B 90 ? ? ? ? FF D2 84
C0 0F ? ? ? ? ? 8B 06 8B 90 ? ? ? ? 8B CE FF D2 84 C0 75 ? 56 E8 ? ? ? ? 8B C8 E8
*/
}

/*
* CTerrorPlayer::OnStaggered(CBaseEntity *, Vector const*) -
used by L4D2 on Survivors
*/
"CTerrorPlayer_OnStaggered"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer11OnStaggeredEP11CBaseEntit
yPK6Vector"
"windows" "\x83\xEC\x2A\x53\x55\x56\x57\x8B\xF1\xE8\x2A\
x2A\x2A\x2A\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x06\x8B\x90\x2A\x2A\x2A\x2A\x8B\
xCE\xFF\xD2\x84\xC0\x0F"
/* 83 EC ? 53 55 56 57 8B F1 E8 ? ? ? ? 84 C0 0F ? ? ? ? ?
8B 06 8B 90 ? ? ? ? 8B CE FF D2 84 C0 0F */
}

/*
* CTerrorPlayer::OnShovedBySurvivor(CTerrorPlayer*, Vector
const&) - used by L4D2 on Special Infected
*/
"CTerrorPlayer_OnShovedBySurvivor"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer18OnShovedBySurvivorEPS_RK6
Vector"
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x56\x8B\xF1\xE8\x2A\
x2A\x2A\x2A\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x8C\x2A\x2A\x2A\x2A\x2A\x55\x33\
xED\x3B\xCD\x74"
/* 81 EC ? ? ? ? 56 8B F1 E8 ? ? ? ? 84 C0 0F ? ? ? ? ? 8B
8C ? ? ? ? ? 55 33 ED 3B CD 74 */
}

/*
* CDirector::RegisterForbiddenTarget(CBaseEntity *) - used to
create Car Alarms ... careful, manual call crashes ._.
*/
"CDirector_RegisterForbiddenTarget"
{
"library" "server"
"linux" "@_ZN9CDirector23RegisterForbiddenTargetEP11CBa
seEntity"
"windows" "\x8B\x91\x2A\x2A\x2A\x2A\x81\xC1\x2A\x2A\x2A\
x2A\x56\x33\xC0\x85\xD2\x57\x7E\x2A\x8B\x31\x8B\x7C\x2A\x2A\x8D\x9B\x2A\x2A\x2A\
x2A\x39\x3E\x74\x2A\x83\xC0\x2A\x83\xC6\x2A\x3B\xC2\x7C\x2A\x8D\x44\x2A\x2A\x50\
x52\xE8\x2A\x2A\x2A\x2A\x5F\x5E\xC2\x2A\x2A\x85\xC0\x7D\x2A\x8D\x44\x2A\x2A\x50\
x52\xE8\x2A\x2A\x2A\x2A\x5F\x5E\xC2"
/* 8B 91 ? ? ? ? 81 C1 ? ? ? ? 56 33 C0 85 D2 57 7E ? 8B 31
8B 7C ? ? 8D 9B ? ? ? ? 39 3E 74 ? 83 C0 ? 83 C6 ? 3B C2 7C ? 8D 44 ? ? 50 52
E8 ? ? ? ? 5F 5E C2 ? ? 85 C0 7D ? 8D 44 ? ? 50 52 E8 ? ? ? ? 5F 5E C2 */
}

/*
* CDirector::UnregisterForbiddenTarget(CBaseEntity *) - used
to remove Car Alarms ... careful, manual call crashes ._.
*/
"CDirector_UnRegisterForbiddenTarget"
{
"library" "server"
"linux" "@_ZN9CDirector25UnregisterForbiddenTargetEP11C
BaseEntity"
"windows" "\x8B\x91\x2A\x2A\x2A\x2A\x81\xC1\x2A\x2A\x2A\
x2A\x33\xC0\x85\xD2\x7E\x2A\x56\x8B\x31\x57\x8B\x7C"
/* 8B 91 ? ? ? ? 81 C1 ? ? ? ? 33 C0 85 D2 7E ? 56 8B 31 57
8B 7C */
}

/*
* CTerrorPlayer::OnSlammedSurvivor(CTerrorPlayer*, bool, bool)
- Charger hit Survivor function call
*/
"OnSlammedSurvivor"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer17OnSlammedSurvivorEPS_bb"
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\xD9\xEE\x56\x57\x6A\
x2A\x51\xD9"
/* 81 EC ? ? ? ? D9 EE 56 57 6A ? 51 D9 */
}

/*
* CTerrorPlayer::OnLeptOnSurvivor(CTerrorPlayer*) - Jockey hit
Survivor function call
*/
"OnLeptOnSurvivor"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer16OnLeptOnSurvivorEPS_"
"windows" "\xA1\x2C\x2A\x2A\x2A\x83\xEC\x2A\x55\x33\xED\
x39"
/* A1 2C ? ? ? 83 EC ? 55 33 ED 39 */
}

/*
* CTerrorPlayer::CancelStagger(void) - used by the game to
stop Survivor Staggering as something else happens
*/
"CancelStagger"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer13CancelStaggerEv"
"windows" "\x83\xEC\x2A\x53\x56\x8B\xF1\x8B\x86\x2A\x2A\
x2A\x2A\xC1\xE8\x2A\xA8\x2A\x57\x74\x2A\xE8"
/* 83 EC ? 53 56 8B F1 8B 86 ? ? ? ? C1 E8 ? A8 ? 57 74 ?
E8 */
}

/*
* CTerrorPlayer::OnRevived(void) - used by the game to revive
Survivors
*/
"CTerrorPlayer_OnRevived"
{
"library" "server"
"linux" "@_ZN13CTerrorPlayer9OnRevivedEv"
"windows" "\x55\x8B\xEC\x83\xEC\x2A\x53\x56\x8B\xF1\x8B\
x06\x8B\x90\x2A\x2A\x2A\x2A\x57\xFF\xD2\x84\xC0\x0F"
/* 55 8B EC 83 EC ? 53 56 8B F1 8B 06 8B 90 ? ? ? ? 57 FF
D2 84 C0 0F */
}
}
}
}

You might also like