sigscanner
3 Attachment(s)
If you don't know what this is, press back now. I'm posting this for people who wanted to see it earlier, and figured anybody who wanted to do this type of dev should have one. It's a horribly easy concept, but whatever - here's mine:
See Attachments standard ranges (win32 only - this whole thing is unnecessary on linux) Code:
#define SERVERDLLSTART 0x22001000 Code:
if(!CSigScanner::FindAll()){ Some sample sigs: Code:
typedef CBaseEntity* (__cdecl* CBaseEntity_CreateFunc)( const char *szName, const Vector &vecOrigin, const QAngle &vecAngles, CBaseEntity *pOwner ); Also included siggen2 - copy olly disasm dump into it, and it should make a sig. It's nowhere near 'good', but it's decent :P |
Nice!
God willing, someday I'll be able to actually find sigs... btw, you may want to attach that as a file instead of a code block... |
probably woulda been a good idea
|
You wouldn't want to say what this is would ya?
|
What's the first sentence of the thread? Honestly.. :P
If you insist on knowing, it's just a class that looks through the server module for a function using a signature that won't change when they release a new version of the module. |
Code:
CSigScanner SigCAI_Navigator_SetDirectGoal("SigCAI_Navigator_SetDirectGoal", SIGRANGESERVERDLL, NULL, "x????xxxxxxxxxxxxxxxxxxx????xxxxx????xx????xxxxxx????xxxxxxxxxxxxx????xxxxxx????xxx????x????xxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxxx????xxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxxxxxx", "\xA1\x38\x79\x55\x22\x81\xEC\x00\x01\x00\x00\x53\x56\x8B\xF1\x8B\x48\x2C\x85\xC9\x57\x74\x21\x68\xDC\xE4\x4D\x22\x8D\x4C\x24\x10\x68\x24\x14\x4B\x22\x51\xE8\xF5\xC3\xED\xFF\x8B\x56\x04\x50\x52\xE8\x6B\x47\xFC\xFF\x83\xC4\x14\x8B\x06\x8B\xCE\xFF\x50\x2C\x8B\xCE\xE8\xBA\x58\x00\x00\x8B\x4E\x24\x6A\x04\xE8\x10\x39\x02\x00\x6A\x30\xB9\xC0\x97\x55\x22\xE8\x54\xD2\x10\x00\x85\xC0\x8B\x9C\x24\x10\x01\x00\x00\x74\x18\x8B\x8C\x24\x14\x01\x00\x00\x6A\xFF\x6A\x08\x51\x6A\x00\x53\x8B\xC8\xE8\x83\x69\x03\x00\xEB\x02\x33\xC0\x8B\x4E\x24\x6A\x00\x50\xE8\x74\x31\x02\x00\x8B\x4E\x04\x8B\x11\x8B\x7E\x24\xFF\x92\x90\x06\x00\x00\xD9\x5F\x04\x8B\x4E\x24\x53\xE8\x9A\x37\x02\x00\x5F\x5E\xB0\x01\x5B\x81\xC4\x00\x01\x00\x00\xC2\x08\x00", -1, false, 1); |
So instead of scanning for a sig on linux, how do I do it ?
Got it all to work in windows. Pls dont flame the tardedness, im just learning =) |
Quote:
In linux it's so much simplier as you only need to link in the "$(GAME_DIR)/cstrike/bin/server_i486.so" file... the only trick is how you link it in as it has to found both when you compile and when you run it... To get the functions you can call, you can use the debugger gdb and list them... Example of plugin code: Code:
#if defined SERVER_LINK && defined _LINUX /X |
In the makefile..
Code:
ln -sf $(SRCDS)/server_i486.so server_i486.so |
All times are GMT -4. The time now is 20:56. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.