Quote:
|
Basically I need to start using other sources such as ReGameDLL to see what actually happens with the entities that I work with.
|
For sure. Even if you don't use regamedll, it helps to see how the game does certain things.
Quote:
|
All I'm struggling with is knowing signature's location, I'm still confused about whether a signature should go in functions, virtualFunctions, types, or memory. Is there any way without using the IDA? It's such a messy app. You mentioned to me Asherkin's vtable dumper but that's just for SourceMod files.
|
https://asherkin.github.io/vtable/ this works for GoldSource too. Just drag and drop cs.so in that site.
Unfortunately you need to get used to working with IDA if you want to make signatures.
The vtable dumper will only provide you with the offsets for the virtual functions. If it's not virtual you need to use IDA and create a signature.
In virtualFunctions you put any function that's virtual. To properly understand what a virtual function is you would need knowledge of object oriented programming. Without that, what you can do is use the vtable dumper and see if you find a certain function. If you do, it's virtual. If you don't it's a regular function.
Another way is to check RegameDLL in *.h files. For example if you want to know the virtual functions for CBasePlayer you would look in player.h
https://github.com/s1lentq/ReGameDLL.../player.h#L329 inside CBasePlayer class. If it has "virtual" in front then it's virtual.
For example:
PHP Code:
virtual void TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
is virtual.
PHP Code:
void AddAccount(int amount, bool bTrackChange = true);
is not virtual and needs a signature.
Don't bother with types and memory folders for now.
__________________