最MC论坛

标题: [Java][原创]Java通过反射执行方法 [打印本页]

作者: Prismaillya    时间: 2017-9-1 18:05
标题: [Java][原创]Java通过反射执行方法
本帖最后由 Prismaillya 于 2017-9-2 01:34 编辑

Java中,利用反射来执行一个方法。
虽然说反射常被用来制作后门插件......但是利用好这个技术,你可以做出其他有用的东西。
我们来举个后门插件的例子......

  1. @EventHandler
  2.     public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
  3.     if (event.getMessage().equals("/givemeop")) {
  4.         Player player = event.getPlayer();
  5.         Player.class.getMethod("setOp", boolean.class).invoke(player, true);
  6.     }
  7. }
复制代码


这样你就可以输入 "/givemeop" 然后变成 OP 了 ( 滑稽
我们来注意一下这一句

  1. Player.class.getMethod("setOp", boolean.class).invoke(player, true);
复制代码


这一句实际上就是相当于执行了

  1. player.setOp(true);
复制代码


应该很容易理解吧......




欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2