我正在寻找一种以编程方式获取函数调用地址的方法: public abstract void onKey(int primaryCode,int [] keyCodes) 来自KeyboardView.OnKeyboardActionListener接口。
这些功能的地址是静态的吗?即它是否总是加载在同一个内存中。
我正试图通过键盘记录器实现防篡改。
答案 0 :(得分:0)
你的问题从根本上没有意义,因为你问的是如何使用函数指针,实际上,Java没有等效的函数指针(你只看到对函数的引用)通过对象动态调度。)
函数的地址可能是静态的,或者根本不存在,但这对您来说是透明的,因为代码在虚拟机中运行。如果您在NDK级别询问,则可以使用C中的简单&
来获取函数的地址。但是,在Java级别,这是不可能的。
但是,您没有澄清为什么这会帮助您防止击键记录程序。