int main(int argc, char **argv)
{
int (*func)();
func = (int (*)()) code;
(int)(*func)();
}
变量代码中有一些shellcode
答案 0 :(得分:0)
函数指针。此代码段应该可以帮助您理解。
#include <stdio.h>
int Hello();
int code();
int main(int argc, char **argv)
{
int (*func)(); //pointer to function that takes no arguments quivalent to: int (*func)(void);
func =&Hello;
int x = func();
printf("%d\n", x);
func = (int (*)()) code; // Assigns the pointer from the code function to the func pointer
x = code();
printf("%d", x);
}
int code()
{
printf("code returns: ");
return 500;
}
int Hello()
{
printf("hello returns: ");
return 1;
}
答案 1 :(得分:-2)
code
可能是一个变量,对应于内存中某些机器代码的地址。然后,指向不带参数并返回int的函数的指针被设置为该地址并调用该函数。 int f()
是没有param和int作为返回值的函数的原型,然后int (*pf)()
是指向这样一个函数的指针。