• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to call a function an address?
#1
Hi I am trying to call a function at an address from a plugin but I am getting a crash.

Code:
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX* amx)
{
? ? VirtualUnlock((LPVOID)0x48B5B0, 0x20);

? ? ((int(__fastcall*)(char*))0x48B5B0)("query");
? ? return 1;
}

https://cdn.discordapp.com/attachments/5...nknown.png

I think, this is GetConsoleVariableInt function
  Reply
#2
(2021-07-06, 09:36 PM)oukibt Wrote: Hi I am trying to call a function at an address from a plugin but I am getting a crash.



Code:
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX* amx)

{

? ? VirtualUnlock((LPVOID)0x48B5B0, 0x20);



? ? ((int(__fastcall*)(char*))0x48B5B0)("query");

? ? return 1;

}



https://cdn.discordapp.com/attachments/5...nknown.png



I think, this is GetConsoleVariableInt function



Hi, can you show the crash log, if there is one.



Maybe you should try to cast the address with __stdcall. Another thing you can check is the return value of VirtualUnlock, if the return value is zero then you should look at GetLastError().?



I suggest to read this documentation before doing this kind of?stuff:?https://docs.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-160.
3D modeler on Blender - OOP and functional programming programmer

  Reply


Forum Jump: