Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Urghh #3

Open
HimbeersaftLP opened this issue Aug 22, 2017 · 16 comments
Open

Urghh #3

HimbeersaftLP opened this issue Aug 22, 2017 · 16 comments

Comments

@HimbeersaftLP
Copy link

GenisysPro/GenisysPro#821

@SOF3
Copy link
Contributor

SOF3 commented Aug 22, 2017

If anyone finds it necessary, I will add an option in the virion framework to obfuscate the library class names.

@Thunder33345
Copy link

down this horrible rabbit hole we go i guess 🤦‍♂️
is there any like better way(s) to ensure it's PMMP? think like using getupdater in server often breaks in specter if it's not PMMP

@ghost
Copy link

ghost commented Aug 22, 2017

genisyspro is cancer
you guys are reading this don't you
genisys is a spoon just admit it

@ghost
Copy link

ghost commented Aug 22, 2017

also don't let them read this

@HimbeersaftLP
Copy link
Author

If anyone finds it necessary, I will add an option in the virion framework to obfuscate the library class names

Yeah, also had a similar idea

@Thunder33345
Copy link

Thunder33345 commented Aug 22, 2017

      $temp_file = tempnam(sys_get_temp_dir(),'');
      $class = 'return new class
      {
        public function getServerName(Server $server) { return $server->getName(); }
      };';
      file_put_contents($temp_file,$class);
      $class = include_once $temp_file;
      $name = $class->getServerName(Server::getInstance());

seen My Fork of SpoonDetector
might or might not be a good idea, the classname still vulnerable

worst case is to ask plugin to provide server's name

@SOF3
Copy link
Contributor

SOF3 commented Aug 22, 2017

@dktapps suggested verifying the signature of the server.

@dktapps
Copy link

dktapps commented Aug 22, 2017

That would require us to actually sign production phars of course, and it would also mean that source-code installations would be problematic.

@falkirks
Copy link
Owner

I will release a fix when I get a chance.

@Thunder33345
Copy link

Thunder33345 commented Aug 22, 2017

The most easy way it to ask the plugin to pass the server name
fool proof since the caller will be the plugin and WITHOUT a hacky mess of dealing with obfuscation tactics
like if you want bypass, just give the servername or else it would do the normal Server::getName() by getting instance
Like try not to waste too much effort on spoons

@SOF3
Copy link
Contributor

SOF3 commented Aug 22, 2017

Then you are forcing them to return PocketMine-MP.

First of all, what's the purpose of the Server::getName() method?

@dktapps
Copy link

dktapps commented Aug 22, 2017

In all honesty this project is a waste of time (no offence intended). My stance is: if my code works on your server, good for you - if it doesn't, gtfo my issue tracker, close & lock.

@SOF3
Copy link
Contributor

SOF3 commented Aug 22, 2017

@DerddyDert @CortexPE I would like to clarify that SpoonDetector is not intend to stop people from using spoons. It is simply a stronger reminder that the plugin doesn't officially support using spoons.
If you read the words printed by SpoonDetector, it even provides a non hacky way to load the plugin in spoon servers.
SpoonDetector is purely something like a license agreement and does not comprise any hatred against spoon servers. You are killing the purpose of the Server::getName() by doing that.

@falkirks
Copy link
Owner

@SOF3 My thinking is Spoon maintainers are too vain to ever change getName to return PocketMine. If they do, I will do analysis on other changes they have made to files.

@Thunder33345
Copy link

Thunder33345 commented Aug 22, 2017

maybe just force it on everyone?
ultimately we soon enough will realize it's just lost of productivity for both sides
because there's no good ways to know
so we might as well just make a new addon called agreement, which forces you to say "agree" after the ? in a text file for the plugin to even run/function

i also have asked derddy to make that bypass a "OFF" by default option

like originally this thing was made to stop people using 3rd spoons flooding into the issues section which ware dedicated to pmmp, OR trying prevent trying to help someone for few good hour only to notice they are not using PMMP to begin with

@falkirks
Copy link
Owner

falkirks commented Aug 23, 2017

I came up with what I think is a pretty good solution for now and is hard to circumvent. I haven't tested it yet, but the basic idea is there. I am keeping everything in one class for ease of installation. See 59e46b6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants