Re: Signature Request Thread
Thanks for the fast response there! Unfortunately, for whatever reason - that sig is not working for me.
The plugin certainly finds it, but after loading, the server dies and goes into loop (although I probably need to debug a bit more to confirm exactly what is happening). I will try to debug it further on my end - but was wondering if you have confirmed that this is indeed the correct function and it is callable...? Basically to explain a bit more, the last Valve update killed my plugin. The sig I was using was: Code:
\x83\xEC\x10\x56\x57\x8B\x7C\x24\x1C\x57\x8B\xF1\xE8\xDF\x4D\xF9 robot |
Re: Signature Request Thread
Quote:
Yes. I test every single signature I create. That signature worked for me when I used it (which was right before submitting my post), so I'm sure it's the way you are using the signature. Remember that this signature is a __thiscall, which means you need to pass in a this-pointer as the first parameter in the function. Then, inside the function, you need to do the following with the __asm keyword if you are using windows (if you are using c++): Code:
__asm { Essentially, take a look at the declaration of the function. In this case, it has one parameter, int iTeamIndex. It's also a __thiscall which means that you need a pointer to an instance of CCSPlayer. If you take a look at the class heirarchy, CCSPlayer is also an instance of CBaseEntity. So from an edict_t* you do ->GetUnknown()->GetBaseEntity(); Use that as your this-pointer. Now, create a typedef for the function, inside your code. The syntax works like this: Code:
typedef <return-type> (<callingconvention> *<SomeName>) (<param1 type>, <param2 type>, ..etc..) So with CCSPlayer::SwitchTeam: Code:
typedef void (*SwitchTeam)(CBaseEntity*, int); Code:
private: Finally, I have a global instance of the signature scanner (I use BAILOPAN's). I have a function called Initialize() in my manager class, which I call when metamod loads. I then do the following for each "function type members" that I showed you above: Code:
m_SwitchTeam = (SwitchTeam)g_SigMngr.ResolveSig(laddr, Signature, Signature_Length); Code:
void S_SwitchTeam(CBaseEntity* thisptr, int iTeamIndex) http://wiki.alliedmods.net/CCSPlayer I hope this helped! :D |
Re: Signature Request Thread
CTFPlayer::TeamFortress_SetSpeed(void)
:) see you in #sigs on IRC |
Re: Signature Request Thread
Quote:
Prototype: Code:
void CTFPlayer::TeamFortress_SetSpeed(void) Signature: Code:
\x51\x56\x8B\xF1\x2A\x2A\x2A\x2A\x2A\x2A\xC1\xE8\x03\xA8\x01\x57\x2A\x2A\x2A\x2A\x2A\x2A\x74\x3E\x8B\x16\x2A\x2A\x2A\x2A\x2A\x2A The above is untested so don't blame me if something goes wrong :D. I need LDuke to report back. |
Re: Signature Request Thread
i found this, then use detours. but how to set the speed next?
Code:
\x51\x56\x8B\xF1\x2A\x2A\x2A\x2A\x2A\x2A\x85\xC9\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\xC1\xE8\x03\xA8\x01\x57\x2A\x2A\x2A\x2A\x2A\x2A\x74\x40\x8B\x16\x2A\x2A\x2A\x2A\x2A\x2A |
Re: Signature Request Thread
Could anyone find me the sig for this:
CBaseEntityList * g_pEntityList (TF2) Thanks :) |
Re: Signature Request Thread
The entitylist is an offset, not a pointer, and you can find it in sdktools extention or lduke's extention.
|
Re: Signature Request Thread
I know youve been busy lately, but heres one if you get time :)
CTFPlayer::CanAttack(void) |
Re: Signature Request Thread
Quote:
What did you want to do? Secondly, I don't think you can search for signatures in other binaries outside of server.dll / server_i486.so because you need to have a pointer that's stored internally in those (to get the membase of the DLL). Try using a CS function for what you want. Ninja Edit: I'm searching for your signature Crimson :D EDIT2: I think I found it, but you'll need to test it (I wasn't able to, so no guarantees lol): Code:
\xA1\x2A\x2A\x2A\x2A\xD9\x2A\x2A\x56\x8B\xF1\xD8\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xDF\xE0\xF6\xC4\x05 |
Re: Signature Request Thread
Just to throw it out there, even though I cant get it to work (it just doesnt seem to be called) heres the sig for CBaseCombatWeapon::UsesPrimaryAmmo()
Code:
\x83\xB9\x54\x12\x00\x00\x00\x0F\x9D\xC0\xC3 |
All times are GMT -4. The time now is 17:46. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.