Set a function pointer to a static address
c, function-pointers
Solution
The existing answers work, but you don't even need a variable for the function pointer. You can just do:
#define myfunc ((void (*)(void))0x54315)
and then call it as `myfunc()` just like you would an ordinary function. Note that you should change the type in the cast to match the actual argument and return types of the function.
Problem
I'm injecting a DLL into another process and want to call a function that is in that binary based on it's address (0x54315). How can I actually declare a function, and then set it to this address? ``` #define FUNC 0x54315 void *myFuncPtr; int main() { myFuncPtr = FUNC; // pretty sure this isn't how myFuncPtr(); // call it? } ```