C 如何在不知道函数';s的符号名?

C 如何在不知道函数';s的符号名?,c,java-native-interface,elf,C,Java Native Interface,Elf,如何从C中调用二进制函数(或子例程),而不知道它的符号名?我只知道地址。我会说:使用函数指针并设置其值。然后调用函数。@HenriMenke c。我的坏,我将删除C++标签以避免misunderstandings@user8398347也许你可以添加一些上下文-你如何/为什么知道地址而不知道姓名。有什么特别的系统吗?@4386427:可能有关系;这肯定会改变人们的期望。除其他事项外,可能不会有ASLR需要担心。如果您有一个函数void,请执行魔术(void)你知道调用序列(原型)和它所在的地址是

如何从C中调用二进制函数(或子例程),而不知道它的符号名?我只知道地址。

我会说:使用函数指针并设置其值。然后调用函数。@HenriMenke c。我的坏,我将删除C++标签以避免misunderstandings@user8398347也许你可以添加一些上下文-你如何/为什么知道地址而不知道姓名。有什么特别的系统吗?@4386427:可能有关系;这肯定会改变人们的期望。除其他事项外,可能不会有ASLR需要担心。如果您有一个函数
void,请执行魔术(void)你知道调用序列(原型)和它所在的地址是0x876543012,你可以玩弄死亡,写一些可怕的东西,比如:
void(*function)(void)=(void(*)(void))0x876543012;(*功能)()其中第一行声明指向正确函数类型的指针,并将地址强制为正确类型的指针。有很多出错的机会。请在问题中添加关于JNI的信息。您需要解释要执行的函数(概述代码)。也许你应该添加JNI标签,让有经验的人来帮助你。这不是一个我认为应该知道的话题(至少,不足以回答)。