- template <class T, class RT, class A1> _declspec(naked) RT __stdcall CallMemberFunction(unsigned int func, T* self, A1 arg1){
- _asm {
- POP EAX ; Take value, increase ESP by 4
- ADD ESP, 0x8 ; add 8h to stack pointer 32bit.
- MOV ECX, DWORD PTR DS:[ESP-0x4] ; reference: *p = [esp -0x4]
- PUSH EAX ; save the new value
- MOV EAX, DWORD PTR DS:[ESP-0x4] ; call reference
- JMP EAX ; goto function
- }
- }
No clue if anyone cares about ROSE stuff anymore but I was bored and decided to share the source code to the old injection dlls we used at titanrose for modifying the arcturus ROSE client/server. These are old and out of date and nothing near to what is currently being used at titan as I found them lying around on my old laptop. This is just so interested people can have a look how we did some stuff back in the old days, not intended to be compiled / used for anything.
https://github.com/exjam/titanmods